Author: ebourg
Date: Wed Mar 14 12:01:47 2012
New Revision: 1300516
URL: http://svn.apache.org/viewvc?rev=1300516&view=rev
Log:
Improved test coverage
Modified:
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/UnicodeUnescapeReader.java
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CharBufferTest.java
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java
Modified:
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/UnicodeUnescapeReader.java
URL:
http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/UnicodeUnescapeReader.java?rev=1300516&r1=1300515&r2=1300516&view=diff
==============================================================================
---
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/UnicodeUnescapeReader.java
(original)
+++
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/UnicodeUnescapeReader.java
Wed Mar 14 12:01:47 2012
@@ -50,12 +50,7 @@ class UnicodeUnescapeReader extends Read
if (c == '\\') {
int l = reader.read(sequence);
- if (l == sequence.length
- && 'u' == sequence[0]
- && isHexadecimal(sequence[1])
- && isHexadecimal(sequence[2])
- && isHexadecimal(sequence[3])
- && isHexadecimal(sequence[4])) {
+ if (l == sequence.length && isUnicodeSequence(sequence)) {
// unicode escape found
c = Integer.parseInt(new String(sequence, 1, 4), 16);
@@ -71,7 +66,15 @@ class UnicodeUnescapeReader extends Read
return count;
}
-
+
+ private boolean isUnicodeSequence(char[] sequence) {
+ return 'u' == sequence[0]
+ && isHexadecimal(sequence[1])
+ && isHexadecimal(sequence[2])
+ && isHexadecimal(sequence[3])
+ && isHexadecimal(sequence[4]);
+ }
+
private boolean isHexadecimal(char c) {
return ('0' <= c && c <= '9') || ('a' <= c && c <= 'f') || ('A' <= c
&& c <= 'F');
}
Modified:
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CharBufferTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CharBufferTest.java?rev=1300516&r1=1300515&r2=1300516&view=diff
==============================================================================
---
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CharBufferTest.java
(original)
+++
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CharBufferTest.java
Wed Mar 14 12:01:47 2012
@@ -164,4 +164,16 @@ public class CharBufferTest extends Test
buffer.ensureCapacity(8);
assertTrue(buffer.capacity() >= 8);
}
+
+ public void testTrim() throws Exception {
+ CharBuffer buffer = new CharBuffer();
+ buffer.append(" ");
+ buffer.trimTrailingWhitespace();
+ assertEquals(0, buffer.length());
+
+ buffer = new CharBuffer();
+ buffer.append("Hello World! ");
+ buffer.trimTrailingWhitespace();
+ assertEquals("Hello World!", buffer.toString());
+ }
}
Modified:
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java?rev=1300516&r1=1300515&r2=1300516&view=diff
==============================================================================
---
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java
(original)
+++
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java
Wed Mar 14 12:01:47 2012
@@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.commons.csv;
import java.io.StringReader;
@@ -21,15 +22,19 @@ import java.util.Arrays;
import junit.framework.TestCase;
-/**
- * ExtendedBufferedReaderTest
- */
public class ExtendedBufferedReaderTest extends TestCase {
- public void testReadLookahead1() throws Exception {
+ public void testEmptyInput() throws Exception {
+ ExtendedBufferedReader br = getBufferedReader("");
+ assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.read());
+ assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.lookAhead());
+ assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.readAgain());
+ assertNull(br.readLine());
+ assertEquals(0, br.read(new char[10], 0, 0));
+ }
- assertEquals(ExtendedBufferedReader.END_OF_STREAM, getEBR("").read());
- ExtendedBufferedReader br = getEBR("1\n2\r3\n");
+ public void testReadLookahead1() throws Exception {
+ ExtendedBufferedReader br = getBufferedReader("1\n2\r3\n");
assertEquals('1', br.lookAhead());
assertEquals(ExtendedBufferedReader.UNDEFINED, br.readAgain());
assertEquals('1', br.read());
@@ -82,12 +87,8 @@ public class ExtendedBufferedReaderTest
public void testReadLookahead2() throws Exception {
char[] ref = new char[5];
char[] res = new char[5];
-
- ExtendedBufferedReader br = getEBR("");
- assertEquals(0, br.read(res, 0, 0));
- assertTrue(Arrays.equals(res, ref));
-
- br = getEBR("abcdefg");
+
+ ExtendedBufferedReader br = getBufferedReader("abcdefg");
ref[0] = 'a';
ref[1] = 'b';
ref[2] = 'c';
@@ -100,18 +101,17 @@ public class ExtendedBufferedReaderTest
assertEquals(1, br.read(res, 4, 1));
assertTrue(Arrays.equals(res, ref));
assertEquals('d', br.readAgain());
-
}
public void testReadLine() throws Exception {
- ExtendedBufferedReader br = getEBR("");
+ ExtendedBufferedReader br = getBufferedReader("");
assertTrue(br.readLine() == null);
- br = getEBR("\n");
+ br = getBufferedReader("\n");
assertTrue(br.readLine().equals(""));
assertTrue(br.readLine() == null);
- br = getEBR("foo\n\nhello");
+ br = getBufferedReader("foo\n\nhello");
assertEquals(0, br.getLineNumber());
assertTrue(br.readLine().equals("foo"));
assertEquals(1, br.getLineNumber());
@@ -122,7 +122,7 @@ public class ExtendedBufferedReaderTest
assertTrue(br.readLine() == null);
assertEquals(3, br.getLineNumber());
- br = getEBR("foo\n\nhello");
+ br = getBufferedReader("foo\n\nhello");
assertEquals('f', br.read());
assertEquals('o', br.lookAhead());
assertTrue(br.readLine().equals("oo"));
@@ -136,7 +136,7 @@ public class ExtendedBufferedReaderTest
assertEquals(3, br.getLineNumber());
- br = getEBR("foo\rbaar\r\nfoo");
+ br = getBufferedReader("foo\rbaar\r\nfoo");
assertTrue(br.readLine().equals("foo"));
assertEquals('b', br.lookAhead());
assertTrue(br.readLine().equals("baar"));
@@ -145,7 +145,7 @@ public class ExtendedBufferedReaderTest
assertTrue(br.readLine() == null);
}
- private ExtendedBufferedReader getEBR(String s) {
+ private ExtendedBufferedReader getBufferedReader(String s) {
return new ExtendedBufferedReader(new StringReader(s));
}
}