public override Message ReadMessage (ArraySegment<byte> buffer,
BufferManager bufferManager, string contentType)
{
+ if (bufferManager == null)
+ throw new ArgumentNullException ("bufferManager");
return Message.CreateMessage (
XmlDictionaryReader.CreateDictionaryReader (
XmlReader.Create (new StreamReader (
version);
}
- [MonoTODO]
public override Message ReadMessage (Stream stream,
int maxSizeOfHeaders, string contentType)
{
+ if (stream == null)
+ throw new ArgumentNullException ("stream");
return Message.CreateMessage (
XmlDictionaryReader.CreateDictionaryReader (
XmlReader.Create (new StreamReader (stream, encoding))),
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using System.Text;
+using System.Xml;
using NUnit.Framework;
using Element = System.ServiceModel.Channels.TextMessageEncodingBindingElement;
Assert.IsFalse (enc.IsContentTypeSupported ("text/xml"), "#2");
Assert.IsTrue (enc.IsContentTypeSupported ("application/soap+xml"), "#3");
}
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void ReadNullStream ()
+ {
+ var enc = new TextMessageEncodingBindingElement ().CreateMessageEncoderFactory ().Encoder;
+ enc.ReadMessage (null, 10, "text/xml");
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void ReadNullBufferManager ()
+ {
+ var enc = new TextMessageEncodingBindingElement ().CreateMessageEncoderFactory ().Encoder;
+ enc.ReadMessage (new ArraySegment<byte> (new byte [0]), null, "text/xml");
+ }
+
+ [Test]
+ [ExpectedException (typeof (XmlException))] // (document is expected)
+ public void ReadEmptyBuffer ()
+ {
+ var enc = new TextMessageEncodingBindingElement ().CreateMessageEncoderFactory ().Encoder;
+ enc.ReadMessage (new ArraySegment<byte> (new byte [0]), BufferManager.CreateBufferManager (1000, 1000), "text/xml");
+ }
}
}