Setters/adders now throw ArgumentNullException appropriately.
diff --git a/src/ProtocolBuffers.Test/TextFormatTest.cs b/src/ProtocolBuffers.Test/TextFormatTest.cs
index d8de4b8..a8e0de4 100644
--- a/src/ProtocolBuffers.Test/TextFormatTest.cs
+++ b/src/ProtocolBuffers.Test/TextFormatTest.cs
@@ -499,5 +499,29 @@
       AssertFormatException(() => TextFormat.ParseUInt64("-1"));
       AssertFormatException(() => TextFormat.ParseInt32("abcd"));
     }
+
+    [Test]
+    public void ParseLongString() {
+      string longText =
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890" +
+        "123456789012345678901234567890123456789012345678901234567890";
+      TestAllTypes.Builder builder = TestAllTypes.CreateBuilder();
+      TextFormat.Merge("optional_string: \"" + longText + "\"", builder);
+      Assert.AreEqual(longText, builder.OptionalString);
+    }
   }
 }