summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2010-08-18 22:51:23 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2010-08-18 22:51:23 +0900
commitfdfabc9f8862da5982830017e21b0628a00356eb (patch)
treecb1f7aa21da8328f38025da1593db15dfeae711c /java/src
parent5658ca5b903b294dcccad0dfa6fa6a7bcd9acc12 (diff)
downloadmsgpack-python-fdfabc9f8862da5982830017e21b0628a00356eb.tar.gz
java: adds cross-language test case
Diffstat (limited to 'java/src')
-rw-r--r--java/src/main/java/org/msgpack/UnpackerImpl.java1
-rw-r--r--java/src/test/java/org/msgpack/TestCases.java46
-rw-r--r--java/src/test/resources/cases.json1
-rw-r--r--java/src/test/resources/cases.mpacbin0 -> 213 bytes
-rw-r--r--java/src/test/resources/cases_compact.mpacbin0 -> 116 bytes
5 files changed, 48 insertions, 0 deletions
diff --git a/java/src/main/java/org/msgpack/UnpackerImpl.java b/java/src/main/java/org/msgpack/UnpackerImpl.java
index cfd3d22..d4f99e3 100644
--- a/java/src/main/java/org/msgpack/UnpackerImpl.java
+++ b/java/src/main/java/org/msgpack/UnpackerImpl.java
@@ -308,6 +308,7 @@ public class UnpackerImpl {
break _push;
}
cs = ACS_RAW_VALUE;
+ break _fixed_trail_again;
case ACS_RAW_VALUE: {
byte[] raw = new byte[trail];
System.arraycopy(src, n, raw, 0, trail);
diff --git a/java/src/test/java/org/msgpack/TestCases.java b/java/src/test/java/org/msgpack/TestCases.java
new file mode 100644
index 0000000..632645f
--- /dev/null
+++ b/java/src/test/java/org/msgpack/TestCases.java
@@ -0,0 +1,46 @@
+package org.msgpack;
+
+import java.io.*;
+import java.util.*;
+
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class TestCases {
+ public void feedFile(Unpacker pac, String path) throws Exception {
+ FileInputStream input = new FileInputStream(path);
+ byte[] buffer = new byte[32*1024];
+ while(true) {
+ int count = input.read(buffer);
+ if(count < 0) {
+ break;
+ }
+ pac.feed(buffer, 0, count);
+ }
+ }
+
+ @Test
+ public void testCases() throws Exception {
+ System.out.println( new File(".").getAbsoluteFile().getParent() );
+
+
+ Unpacker pac = new Unpacker();
+ Unpacker pac_compact = new Unpacker();
+
+ feedFile(pac, "src/test/resources/cases.mpac");
+ feedFile(pac_compact, "src/test/resources/cases_compact.mpac");
+
+ UnpackResult result = new UnpackResult();
+ while(pac.next(result)) {
+ UnpackResult result_compact = new UnpackResult();
+ assertTrue( pac_compact.next(result_compact) );
+ System.out.println("obj: "+result_compact.getData());
+ if(!result.getData().equals(result_compact.getData())) {
+ System.out.println("compact: "+result_compact.getData().asString());
+ System.out.println("data : "+result.getData().asString());
+ }
+ assertTrue( result.getData().equals(result_compact.getData()) );
+ }
+ }
+};
+
diff --git a/java/src/test/resources/cases.json b/java/src/test/resources/cases.json
new file mode 100644
index 0000000..fd390d4
--- /dev/null
+++ b/java/src/test/resources/cases.json
@@ -0,0 +1 @@
+[false,true,null,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,127,127,255,65535,4294967295,-32,-32,-128,-32768,-2147483648,0.0,-0.0,1.0,-1.0,"a","a","a","","","",[0],[0],[0],[],[],[],{},{},{},{"a":97},{"a":97},{"a":97},[[]],[["a"]]] \ No newline at end of file
diff --git a/java/src/test/resources/cases.mpac b/java/src/test/resources/cases.mpac
new file mode 100644
index 0000000..5ec08c6
--- /dev/null
+++ b/java/src/test/resources/cases.mpac
Binary files differ
diff --git a/java/src/test/resources/cases_compact.mpac b/java/src/test/resources/cases_compact.mpac
new file mode 100644
index 0000000..8812442
--- /dev/null
+++ b/java/src/test/resources/cases_compact.mpac
Binary files differ