Add unit test for [JACKSON-733]
diff --git a/src/test/org/codehaus/jackson/smile/SmileTestBase.java b/src/test/org/codehaus/jackson/smile/SmileTestBase.java
index fdb4e84..9b018ea 100644
--- a/src/test/org/codehaus/jackson/smile/SmileTestBase.java
+++ b/src/test/org/codehaus/jackson/smile/SmileTestBase.java
@@ -6,10 +6,25 @@
import org.junit.Assert;
import org.codehaus.jackson.*;
+import org.codehaus.jackson.map.ObjectMapper;
abstract class SmileTestBase
extends main.BaseTest
{
+ protected ObjectMapper smileMapper() {
+ return smileMapper(false);
+ }
+
+ protected ObjectMapper smileMapper(boolean requireHeader) {
+ return smileMapper(requireHeader, false, false);
+ }
+
+ protected ObjectMapper smileMapper(boolean requireHeader,
+ boolean writeHeader, boolean writeEndMarker)
+ {
+ return new ObjectMapper(smileFactory(requireHeader, writeHeader, writeEndMarker));
+ }
+
protected SmileParser _smileParser(byte[] input) throws IOException {
return _smileParser(input, false);
}
@@ -28,7 +43,6 @@
protected SmileFactory smileFactory(boolean requireHeader,
boolean writeHeader, boolean writeEndMarker)
- throws IOException
{
SmileFactory f = new SmileFactory();
f.configure(SmileParser.Feature.REQUIRE_HEADER, requireHeader);
diff --git a/src/test/org/codehaus/jackson/smile/TestMapper.java b/src/test/org/codehaus/jackson/smile/TestMapper.java
new file mode 100644
index 0000000..5f67456
--- /dev/null
+++ b/src/test/org/codehaus/jackson/smile/TestMapper.java
@@ -0,0 +1,28 @@
+package org.codehaus.jackson.smile;
+
+import java.io.IOException;
+
+import org.codehaus.jackson.map.ObjectMapper;
+import org.junit.Assert;
+
+public class TestMapper extends SmileTestBase
+{
+ static class BytesBean {
+ public byte[] bytes;
+
+ public BytesBean() { }
+ public BytesBean(byte[] b) { bytes = b; }
+ }
+
+ // [JACKSON-733]
+ public void testBinary() throws IOException
+ {
+ byte[] input = new byte[] { 1, 2, 3, -1, 8, 0, 42 };
+ ObjectMapper mapper = smileMapper();
+ byte[] smile = mapper.writeValueAsBytes(new BytesBean(input));
+ BytesBean result = mapper.readValue(smile, BytesBean.class);
+
+ assertNotNull(result.bytes);
+ Assert.assertArrayEquals(input, result.bytes);
+ }
+}