Imported Upstream version 5.18.0.215
Former-commit-id: 77919a0dc17b44051617ced65a58ca041d915216
This commit is contained in:
parent
5e07a812b7
commit
f28a5c0eb4
@ -1 +1 @@
|
||||
5c6f8d6dc0d542cee94e9530a7fc5faae045c79b
|
||||
31951a093f764dd311481af300adba346e4e72b0
|
@ -1 +1 @@
|
||||
b96c849a337dca4509ff250334a832afd8271256
|
||||
53c157fa25c8da26edde2a279c8a28a8ae32559d
|
@ -1 +1 @@
|
||||
938175296af476579141f78cdb7065a2b5e8c282
|
||||
0966d02146233778bc2bff5c642a72b4db22341e
|
@ -1 +1 @@
|
||||
159974bcdc047e01eead76b3c2d1e87b01f73ebf
|
||||
2ae9ab2e8d1f583ad2c036454fb3b79ecbc39035
|
@ -1 +1 @@
|
||||
3fc7686da8fa77fe19257d65c6feb6dffef07bae
|
||||
0fc46f55fa06c9cc6efd0610c0aca16bae0936d0
|
@ -3,13 +3,16 @@
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace System.Text
|
||||
{
|
||||
#if MONO
|
||||
[System.Serializable]
|
||||
#endif
|
||||
public sealed class DecoderReplacementFallback : DecoderFallback, ISerializable
|
||||
#else
|
||||
public sealed class DecoderReplacementFallback : DecoderFallback
|
||||
#endif
|
||||
{
|
||||
// Our variables
|
||||
private String _strDefault;
|
||||
@ -19,6 +22,16 @@ namespace System.Text
|
||||
{
|
||||
}
|
||||
|
||||
#if MONO
|
||||
internal DecoderReplacementFallback(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
try { _strDefault = info.GetString("strDefault"); } // for old mono and .NET 4.x
|
||||
catch { _strDefault = info.GetString("_strDefault"); }
|
||||
}
|
||||
|
||||
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) => info.AddValue("strDefault", _strDefault);
|
||||
#endif
|
||||
|
||||
public DecoderReplacementFallback(String replacement)
|
||||
{
|
||||
if (replacement == null)
|
||||
|
@ -5,13 +5,16 @@
|
||||
using System;
|
||||
using System.Runtime;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace System.Text
|
||||
{
|
||||
#if MONO
|
||||
[Serializable]
|
||||
#endif
|
||||
public sealed class EncoderReplacementFallback : EncoderFallback, ISerializable
|
||||
#else
|
||||
public sealed class EncoderReplacementFallback : EncoderFallback
|
||||
#endif
|
||||
{
|
||||
// Our variables
|
||||
private String _strDefault;
|
||||
@ -21,6 +24,16 @@ namespace System.Text
|
||||
{
|
||||
}
|
||||
|
||||
#if MONO
|
||||
internal EncoderReplacementFallback(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
try { _strDefault = info.GetString("strDefault"); } // for old mono and .NET 4.x
|
||||
catch { _strDefault = info.GetString("_strDefault"); }
|
||||
}
|
||||
|
||||
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) => info.AddValue("strDefault", _strDefault);
|
||||
#endif
|
||||
|
||||
public EncoderReplacementFallback(String replacement)
|
||||
{
|
||||
// Must not be null
|
||||
|
@ -34,7 +34,7 @@ static class Consts
|
||||
// Use these assembly version constants to make code more maintainable.
|
||||
//
|
||||
|
||||
public const string MonoVersion = "5.18.0.214";
|
||||
public const string MonoVersion = "5.18.0.215";
|
||||
public const string MonoCompany = "Mono development team";
|
||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||
public const string MonoCopyright = "(c) Various Mono authors";
|
||||
|
@ -27,8 +27,10 @@
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace MonoTests.System.Text
|
||||
@ -128,5 +130,31 @@ namespace MonoTests.System.Text
|
||||
{
|
||||
Assert.AreEqual ("Unicode (UTF-8)", Encoding.UTF8.EncodingName);
|
||||
}
|
||||
|
||||
[Test] // https://github.com/mono/mono/issues/11663
|
||||
public void EncodingIsBinaryCompatible ()
|
||||
{
|
||||
const string serializedEncoding =
|
||||
"AAEAAAD/////AQAAAAAAAAAEAQAAABlTeXN0ZW0uVGV4dC5BU0NJSUVuY29kaW5nCQAAAAptX2NvZGVQYWdlCGRhdGFJdGVtD2VuY29kZXJGYWxsY" +
|
||||
"mFjaw9kZWNvZGVyRmFsbGJhY2sTRW5jb2RpbmcrbV9jb2RlUGFnZRFFbmNvZGluZytkYXRhSXRlbRVFbmNvZGluZyttX2lzUmVhZE9ubHkYRW5jb2R" +
|
||||
"pbmcrZW5jb2RlckZhbGxiYWNrGEVuY29kaW5nK2RlY29kZXJGYWxsYmFjawADAwMAAwADAwglU3lzdGVtLkdsb2JhbGl6YXRpb24uQ29kZVBhZ2VEY" +
|
||||
"XRhSXRlbSZTeXN0ZW0uVGV4dC5FbmNvZGVyUmVwbGFjZW1lbnRGYWxsYmFjayZTeXN0ZW0uVGV4dC5EZWNvZGVyUmVwbGFjZW1lbnRGYWxsYmFjawg" +
|
||||
"lU3lzdGVtLkdsb2JhbGl6YXRpb24uQ29kZVBhZ2VEYXRhSXRlbQEmU3lzdGVtLlRleHQuRW5jb2RlclJlcGxhY2VtZW50RmFsbGJhY2smU3lzdGVtL" +
|
||||
"lRleHQuRGVjb2RlclJlcGxhY2VtZW50RmFsbGJhY2ufTgAACgkCAAAACQMAAACfTgAACgEJAgAAAAkDAAAABAIAAAAmU3lzdGVtLlRleHQuRW5jb2R" +
|
||||
"lclJlcGxhY2VtZW50RmFsbGJhY2sDAAAACnN0ckRlZmF1bHQbYklzTWljcm9zb2Z0QmVzdEZpdEZhbGxiYWNrK0VuY29kZXJGYWxsYmFjaytiSXNNa" +
|
||||
"WNyb3NvZnRCZXN0Rml0RmFsbGJhY2sBAAABAQYGAAAAAT8AAAQDAAAAJlN5c3RlbS5UZXh0LkRlY29kZXJSZXBsYWNlbWVudEZhbGxiYWNrAwAAAAp" +
|
||||
"zdHJEZWZhdWx0G2JJc01pY3Jvc29mdEJlc3RGaXRGYWxsYmFjaytEZWNvZGVyRmFsbGJhY2srYklzTWljcm9zb2Z0QmVzdEZpdEZhbGxiYWNrAQAAA" +
|
||||
"QEJBgAAAAAACw==";
|
||||
using (var ms = new MemoryStream (Convert.FromBase64String (serializedEncoding)))
|
||||
{
|
||||
var serializer = new BinaryFormatter ();
|
||||
var e = (Encoding) serializer.Deserialize (ms);
|
||||
Assert.IsTrue (e.EncoderFallback.GetHashCode () != 0);
|
||||
Assert.IsTrue (e.DecoderFallback.GetHashCode () != 0);
|
||||
Assert.IsTrue (e.GetDecoder ().GetHashCode () != 0);
|
||||
Assert.IsTrue (e.GetEncoder ().GetHashCode () != 0);
|
||||
Assert.IsTrue (e.GetHashCode () != 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
141b59904d9f2413d9c7ef8b5e6a4e0376454917
|
||||
e49dd86c1aedd272e87548f3e73c04a05c077f62
|
@ -1 +1 @@
|
||||
59ceae5a2843f01d4f721c6adadf21e85f4ca8a4
|
||||
59facca75f0abaceab60a7313bc3e0e188b094d2
|
@ -1 +1 @@
|
||||
c423edda15d24c7a582074a0bdfc1b837e71f7fa
|
||||
248b0372552658cf528f862077122bead9f5a5b0
|
Binary file not shown.
@ -1 +1 @@
|
||||
94bbd0ef3209fe03a80383f47f9a778751940c49
|
||||
7163a8d1262caeb89162d816e9dd75f8f57c1717
|
@ -1 +1 @@
|
||||
78f8da6bbdfc1c27c739481e42afd464a8d54bc9
|
||||
accb634b47f5f8a6ca1e2ea59c31c882ee0d4c7f
|
@ -1 +1 @@
|
||||
49ed47a391e13eacb26513c704915441300c9a8b
|
||||
35af2dc0652382ec10829d2a0a6e68e9dc6d2982
|
@ -1 +1 @@
|
||||
47f75511fc4e30a6d4025fd2a348ff367edd70f3
|
||||
d6e1c470b2057d2bf7e2ac22172e386a7b01212f
|
@ -1 +1 @@
|
||||
141b59904d9f2413d9c7ef8b5e6a4e0376454917
|
||||
e49dd86c1aedd272e87548f3e73c04a05c077f62
|
@ -1 +1 @@
|
||||
59ceae5a2843f01d4f721c6adadf21e85f4ca8a4
|
||||
59facca75f0abaceab60a7313bc3e0e188b094d2
|
@ -1 +1 @@
|
||||
c423edda15d24c7a582074a0bdfc1b837e71f7fa
|
||||
248b0372552658cf528f862077122bead9f5a5b0
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user