Merge pull request #767 from ovatsus/Bug14922
[mono.git] / mcs / class / corlib / Test / System.Text / DecoderReplacementFallbackTest.cs
index 093bd171d5e05df992fab6a004ff940f1c096bd0..f09ba287f97469b8196fc8d34835dbf5098c59b5 100644 (file)
@@ -33,8 +33,10 @@ namespace MonoTests.System.Text
 
                        f = Encoding.UTF8.DecoderFallback as DecoderReplacementFallback;
                        Assert.IsNotNull (f, "#5");
-                       Assert.AreEqual (String.Empty, f.DefaultString, "#6");
-                       Assert.AreEqual (0, f.MaxCharCount, "#7");
+                       // This behavior was introduced as
+                       // http://support.microsoft.com/kb/940521/
+                       Assert.AreEqual ("\uFFFD", f.DefaultString, "#6");
+                       Assert.AreEqual (1, f.MaxCharCount, "#7");
 
                        // after beta2 this test became invalid.
                        //f = new MyEncoding ().DecoderFallback as DecoderReplacementFallback;
@@ -56,11 +58,17 @@ namespace MonoTests.System.Text
                }
 
                [Test]
-               [ExpectedException (typeof (InvalidOperationException))]
                public void DontChangeReadOnlyCodePageDecoderFallback ()
                {
-                       Encoding.GetEncoding (932).DecoderFallback =
-                               new DecoderReplacementFallback ();
+                       Encoding encoding = Encoding.GetEncoding (Encoding.Default.CodePage);
+                       try {
+                               encoding.DecoderFallback = new DecoderReplacementFallback ();
+                               Assert.Fail ("#1");
+                       } catch (InvalidOperationException ex) {
+                               Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                       }
                }
 
                [Test]