diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-08-18 22:51:23 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-08-18 22:51:23 +0900 |
| commit | fdfabc9f8862da5982830017e21b0628a00356eb (patch) | |
| tree | cb1f7aa21da8328f38025da1593db15dfeae711c /java/src | |
| parent | 5658ca5b903b294dcccad0dfa6fa6a7bcd9acc12 (diff) | |
| download | msgpack-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.java | 1 | ||||
| -rw-r--r-- | java/src/test/java/org/msgpack/TestCases.java | 46 | ||||
| -rw-r--r-- | java/src/test/resources/cases.json | 1 | ||||
| -rw-r--r-- | java/src/test/resources/cases.mpac | bin | 0 -> 213 bytes | |||
| -rw-r--r-- | java/src/test/resources/cases_compact.mpac | bin | 0 -> 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 Binary files differnew file mode 100644 index 0000000..5ec08c6 --- /dev/null +++ b/java/src/test/resources/cases.mpac diff --git a/java/src/test/resources/cases_compact.mpac b/java/src/test/resources/cases_compact.mpac Binary files differnew file mode 100644 index 0000000..8812442 --- /dev/null +++ b/java/src/test/resources/cases_compact.mpac |
