Adding unit test for [JACKSON-709]

diff --git a/src/test/org/codehaus/jackson/map/convert/TestBeanConversions.java b/src/test/org/codehaus/jackson/map/convert/TestBeanConversions.java
index 14437fd..8ce0623 100644
--- a/src/test/org/codehaus/jackson/map/convert/TestBeanConversions.java
+++ b/src/test/org/codehaus/jackson/map/convert/TestBeanConversions.java
@@ -12,6 +12,14 @@
         public int x, y;
 
         public int z = -13;
+
+        public Point() { }
+        public Point(int a, int b, int c)
+        {
+            x = a;
+            y = b;
+            z = c;
+        }
     }
 
     static class PointStrings {
@@ -40,7 +48,7 @@
 
         public Object getData() { return data; }
         public void setData(Object data) { this.data = data; }
-    }    
+    }
 
     /*
     /**********************************************************
@@ -87,4 +95,18 @@
         ObjectWrapper a2 = mapper.convertValue(b2.getData(), ObjectWrapper.class);
         assertEquals("foo", a2.getData());
     }
+
+    // [JACKSON-710]: should work regardless of wrapping...
+    public void testWrapping() throws Exception
+    {
+        ObjectMapper wrappingMapper = new ObjectMapper();
+        wrappingMapper.enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE);
+        wrappingMapper.enable(SerializationConfig.Feature.WRAP_ROOT_VALUE);
+        Point input = new Point(1, 2, 3);
+        // conversion is ok, even if it's bogus one
+        Point output = wrappingMapper.convertValue(input, Point.class);
+        assertEquals(1, output.x);
+        assertEquals(2, output.y);
+        assertEquals(3, output.z);
+    }
 }
diff --git a/src/test/org/codehaus/jackson/node/TestConversions.java b/src/test/org/codehaus/jackson/node/TestConversions.java
index 1feeebd..677b21d 100644
--- a/src/test/org/codehaus/jackson/node/TestConversions.java
+++ b/src/test/org/codehaus/jackson/node/TestConversions.java
@@ -7,6 +7,7 @@
 import org.codehaus.jackson.*;
 import org.codehaus.jackson.map.*;
 import org.codehaus.jackson.map.annotate.JsonDeserialize;
+import org.junit.Assert;
 
 /**
  * Unit tests for verifying functionality of {@link JsonNode} methods that
@@ -122,4 +123,30 @@
             }
         }
     }
+
+    static class Issue709Bean {
+        public byte[] data;
+    }
+    
+    /**
+     * Simple test to verify that byte[] values can be handled properly when
+     * converting, as long as there is metadata (from POJO definitions).
+     */
+    public void testIssue709() throws Exception
+    {
+        ObjectMapper mapper = new ObjectMapper();
+        byte[] inputData = new byte[] { 1, 2, 3 };
+        ObjectNode node = mapper.createObjectNode();
+        node.put("data", inputData);
+        Issue709Bean result = mapper.readValue(node, Issue709Bean.class);
+        String json = mapper.writeValueAsString(node);
+        Issue709Bean resultFromString = mapper.readValue(json, Issue709Bean.class);
+        Issue709Bean resultFromConvert = mapper.convertValue(node, Issue709Bean.class);
+        
+        // all methods should work equally well:
+        Assert.assertArrayEquals(inputData, resultFromString.data);
+        Assert.assertArrayEquals(inputData, resultFromConvert.data);
+        Assert.assertArrayEquals(inputData, result.data);
+    }
 }
+