Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/SystemTools.java22
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/ByteArrayToolsTests.java12
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/CharArrayToolsTests.java14
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBufferToolsTests.java6
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringBuilderToolsTests.java6
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/StringToolsTests.java15
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/TestTools.java8
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/io/WriterToolsTests.java7
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 {

Back to the top