diff options
author | Brian Vosburgh | 2012-10-16 23:09:45 +0000 |
---|---|---|
committer | Brian Vosburgh | 2012-10-16 23:09:45 +0000 |
commit | 69c9f54d9154ae516156cee7fa7f8330672579c9 (patch) | |
tree | 3171deb6d4e79629152e3ae69bd39f32be18e012 /common | |
parent | 05f6d33684a97a1e820a64396ce38db955c2d38a (diff) | |
download | webtools.dali-69c9f54d9154ae516156cee7fa7f8330672579c9.tar.gz webtools.dali-69c9f54d9154ae516156cee7fa7f8330672579c9.tar.xz webtools.dali-69c9f54d9154ae516156cee7fa7f8330672579c9.zip |
make tests platform file encoding sensitivev201210170240
Diffstat (limited to 'common')
8 files changed, 76 insertions, 14 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/SystemTools.java b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/SystemTools.java index c200d4cc32..b83b0109fd 100644 --- a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/SystemTools.java +++ b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/SystemTools.java @@ -60,6 +60,28 @@ public final class SystemTools { } + // ********** file encoding ********** + + /** + * Return whether the current file encoding is Microsoft Windows + * (i.e. "Cp1252"). + */ + public static boolean fileEncodingIsWindows() { + return fileEncoding().equals("Cp1252"); + } + + /** + * Return whether the current file encoding is UTF-8. + */ + public static boolean fileEncodingIsUTF8() { + return fileEncoding().equals("UTF-8"); + } + + private static String fileEncoding() { + return System.getProperty("file.encoding"); + } + + // ********** O/S ********** /** diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/ByteArrayToolsTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/ByteArrayToolsTests.java index 71ace40464..1f44b51b75 100644 --- a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/ByteArrayToolsTests.java +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/ByteArrayToolsTests.java @@ -9,8 +9,8 @@ ******************************************************************************/ package org.eclipse.jpt.common.utility.tests.internal; -import java.util.Arrays; import junit.framework.TestCase; + import org.eclipse.jpt.common.utility.internal.ByteArrayTools; @SuppressWarnings("nls") @@ -30,16 +30,20 @@ public class ByteArrayToolsTests public void testConvertToHexString_negative() throws Exception { String s = "caf\u00E9"; // cafe' - assertEquals("636166E9", ByteArrayTools.convertToHexString(s.getBytes())); // UTF-8 values + assertEquals(this.getHexCafe(), ByteArrayTools.convertToHexString(s.getBytes())); } public void testConvertToHexCharArray() throws Exception { String s = "test"; - assertTrue(Arrays.equals("74657374".toCharArray(), ByteArrayTools.convertToHexCharArray(s.getBytes()))); // UTF-8 values + TestTools.assertEquals("74657374", ByteArrayTools.convertToHexCharArray(s.getBytes())); } public void testConvertToHexCharArray_negative() throws Exception { String s = "caf\u00E9"; // cafe' - assertTrue(Arrays.equals("636166E9".toCharArray(), ByteArrayTools.convertToHexCharArray(s.getBytes()))); // UTF-8 values + TestTools.assertEquals(this.getHexCafe(), ByteArrayTools.convertToHexCharArray(s.getBytes())); + } + + private String getHexCafe() { + return StringToolsTests.getHexCafe(); } } diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/CharArrayToolsTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/CharArrayToolsTests.java index 38f9efc785..6d154392b2 100644 --- a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/CharArrayToolsTests.java +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/CharArrayToolsTests.java @@ -271,17 +271,21 @@ public class CharArrayToolsTests public void testConvertHexStringToByteArray_ok() throws Exception { String s = "74657374"; // UTF-8 values - assertEquals("test", new String(CharArrayTools.convertHexStringToByteArray(s.toCharArray()))); + TestTools.assertEquals("test", CharArrayTools.convertHexStringToByteArray(s.toCharArray())); } public void testConvertHexStringToByteArray_negative() throws Exception { - String s = "636166E9"; // UTF-8 values - assertEquals("caf\u00E9", new String(CharArrayTools.convertHexStringToByteArray(s.toCharArray()))); + String s = this.getHexCafe(); + TestTools.assertEquals("caf\u00E9", CharArrayTools.convertHexStringToByteArray(s.toCharArray())); } public void testConvertHexStringToByteArray_lowercase() throws Exception { - String s = "636166e9"; // UTF-8 values - assertEquals("caf\u00E9", new String(CharArrayTools.convertHexStringToByteArray(s.toCharArray()))); + String s = this.getHexCafe().toLowerCase(); + TestTools.assertEquals("caf\u00E9", CharArrayTools.convertHexStringToByteArray(s.toCharArray())); + } + + private String getHexCafe() { + return StringToolsTests.getHexCafe(); } // ********** convert camel-case to all-caps ********** diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBufferToolsTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBufferToolsTests.java index 476ae7e52a..c2c1d9b747 100644 --- a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBufferToolsTests.java +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBufferToolsTests.java @@ -286,7 +286,11 @@ public class StringBufferToolsTests } public void testConvertToHexString_negative() { - this.verifyConvertToHexString("636166E9", "caf\u00E9"); // UTF-8 values + this.verifyConvertToHexString(this.getHexCafe(), "caf\u00E9"); // UTF-8 values + } + + private String getHexCafe() { + return StringToolsTests.getHexCafe(); } private void verifyConvertToHexString(String expected, String string) { diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBuilderToolsTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBuilderToolsTests.java index 66dea42400..4a8eb42594 100644 --- a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBuilderToolsTests.java +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBuilderToolsTests.java @@ -286,7 +286,11 @@ public class StringBuilderToolsTests } public void testConvertToHexString_negative() { - this.verifyConvertToHexString("636166E9", "caf\u00E9"); // UTF-8 values + this.verifyConvertToHexString(this.getHexCafe(), "caf\u00E9"); // UTF-8 values + } + + private String getHexCafe() { + return StringToolsTests.getHexCafe(); } private void verifyConvertToHexString(String expected, String string) { diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringToolsTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringToolsTests.java index 195e081ffc..1f12085c5c 100644 --- a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringToolsTests.java +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringToolsTests.java @@ -14,6 +14,7 @@ import junit.framework.TestCase; import org.eclipse.jpt.common.utility.internal.ByteArrayTools; import org.eclipse.jpt.common.utility.internal.ObjectTools; import org.eclipse.jpt.common.utility.internal.StringTools; +import org.eclipse.jpt.common.utility.internal.SystemTools; @SuppressWarnings("nls") public class StringToolsTests @@ -318,15 +319,25 @@ public class StringToolsTests } public void testConvertHexStringToByteArray_negative() throws Exception { - String s = "636166E9"; // UTF-8 values + String s = getHexCafe(); assertEquals("caf\u00E9", new String(StringTools.convertHexStringToByteArray(s))); } public void testConvertHexStringToByteArray_lowercase() throws Exception { - String s = "636166e9"; // UTF-8 values + String s = getHexCafe().toLowerCase(); assertEquals("caf\u00E9", new String(StringTools.convertHexStringToByteArray(s))); } + public static String getHexCafe() { + if (SystemTools.fileEncodingIsWindows()) { + return "636166E9"; + } + if (SystemTools.fileEncodingIsUTF8()) { + return "636166C3A9"; + } + return null; + } + // ********** convert camel-case to all-caps ********** public void testConvertCamelCaseToAllCaps() { diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/TestTools.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/TestTools.java index 94cec6302c..baa8e16629 100644 --- a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/TestTools.java +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/TestTools.java @@ -107,6 +107,14 @@ public final class TestTools { } /** + * Check whether the specified byte array contains the same characters as + * the expected string. Throw an exception if they do not. + */ + public static void assertEquals(String expected, byte[] actual) { + Assert.assertEquals(expected, (actual == null) ? null : new String(actual)); + } + + /** * Test an object's implementation of {@link Serializable} by serializing the * specified object to a byte array; then de-serializing the byte array and * returning the resultant object. diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/io/WriterToolsTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/io/WriterToolsTests.java index bcc2a8a628..a074f545c9 100644 --- a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/io/WriterToolsTests.java +++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/io/WriterToolsTests.java @@ -13,6 +13,7 @@ import java.io.StringWriter; import java.io.Writer; import junit.framework.TestCase; import org.eclipse.jpt.common.utility.internal.io.WriterTools; +import org.eclipse.jpt.common.utility.tests.internal.StringToolsTests; @SuppressWarnings("nls") public class WriterToolsTests @@ -288,7 +289,11 @@ public class WriterToolsTests } public void testConvertToHexString_negative() throws Exception { - this.verifyConvertToHexString("636166E9", "caf\u00E9"); // UTF-8 values + this.verifyConvertToHexString(this.getHexCafe(), "caf\u00E9"); // UTF-8 values + } + + private String getHexCafe() { + return StringToolsTests.getHexCafe(); } private void verifyConvertToHexString(String expected, String string) throws Exception { |