interest+data: forbid unrecognized TLV before Name

Change-Id: Id052b02be0aa3e36064c40872cee37f9c8dd3a78
diff --git a/tests/unit-tests/data.t.cpp b/tests/unit-tests/data.t.cpp
index 521b7d9..0d91005 100644
--- a/tests/unit-tests/data.t.cpp
+++ b/tests/unit-tests/data.t.cpp
@@ -279,7 +279,7 @@
 
 BOOST_AUTO_TEST_CASE(Full)
 {
-  d.wireDecode("063C FC00 0703080144 FC00 1400 FC00 1500 FC00 16031B0100 FC00 "
+  d.wireDecode("063A 0703080144 FC00 1400 FC00 1500 FC00 16031B0100 FC00 "
                "1720612A79399E60304A9F701C1ECAC7956BF2F1B046E6C6F0D6C29B3FE3A29BAD76 FC00"_block);
   BOOST_CHECK_EQUAL(d.getName(), "/D");
   BOOST_CHECK_EQUAL(d.getMetaInfo(), MetaInfo());
@@ -288,7 +288,7 @@
   BOOST_CHECK_EQUAL(d.getSignature().getValue().value_size(), 32);
 
   // encode without modification: retain original wire encoding
-  BOOST_CHECK_EQUAL(d.wireEncode().value_size(), 60);
+  BOOST_CHECK_EQUAL(d.wireEncode().value_size(), 58);
 
   // modify then re-encode as v0.2 format
   d.setName("/E");
@@ -332,6 +332,14 @@
   BOOST_CHECK_THROW(d.wireDecode("0605 0703080144"_block), tlv::Error);
 }
 
+BOOST_AUTO_TEST_CASE(UnrecognizedNonCriticalElementBeforeName)
+{
+  BOOST_CHECK_THROW(d.wireDecode(
+    "062F FC00 0703080144 16031B0100 "
+    "1720612A79399E60304A9F701C1ECAC7956BF2F1B046E6C6F0D6C29B3FE3A29BAD76"_block),
+    tlv::Error);
+}
+
 BOOST_AUTO_TEST_CASE(UnrecognizedCriticalElement)
 {
   BOOST_CHECK_THROW(d.wireDecode(