Ejemplo n.º 1
0
        public void DateTime_Empty_NonStandard()
        {
            Type         parsedType, parsedArrayType;
            const string Xml        = @"<?xml version=""1.0"" ?><value><dateTime.iso8601></dateTime.iso8601></value>";
            var          serializer = new XmlRpcDeserializer();

            Should.Throw <XmlRpcInvalidXmlRpcException>(() =>
                                                        Utils.Parse(
                                                            Xml,
                                                            typeof(DateTime),
                                                            MappingAction.Error,
                                                            serializer,
                                                            out parsedType,
                                                            out parsedArrayType));
        }
Ejemplo n.º 2
0
        public void Issue72()
        {
            Type         parsedType, parsedArrayType;
            const string Xml        = @"<?xml version=""1.0"" ?><value><dateTime.iso8601>20090209T22:20:01+01:00</dateTime.iso8601></value>";
            var          serializer = new XmlRpcDeserializer();

            serializer.NonStandard = XmlRpcNonStandard.AllowNonStandardDateTime;
            var obj = Utils.Parse(
                Xml,
                typeof(DateTime),
                MappingAction.Error,
                serializer,
                out parsedType,
                out parsedArrayType);

            obj.ShouldBe(new DateTime(2009, 2, 9, 21, 20, 01));
        }
Ejemplo n.º 3
0
        public void DateTime_Empty_Standard()
        {
            Type         parsedType, parsedArrayType;
            const string Xml        = @"<?xml version=""1.0"" ?><value><dateTime.iso8601></dateTime.iso8601></value>";
            var          serializer = new XmlRpcDeserializer();

            serializer.NonStandard = XmlRpcNonStandard.MapEmptyDateTimeToMinValue;
            var obj = Utils.Parse(
                Xml,
                typeof(DateTime),
                MappingAction.Error,
                serializer,
                out parsedType,
                out parsedArrayType);

            obj.ShouldBe(DateTime.MinValue);
        }
Ejemplo n.º 4
0
        public void DateTime_ROCA()
        {
            Type         parsedType, parsedArrayType;
            const string Xml        = @"<?xml version=""1.0"" ?><value><dateTime.iso8601>2002-07-06T11:25:37</dateTime.iso8601></value>";
            var          serializer = new XmlRpcDeserializer();

            serializer.NonStandard = XmlRpcNonStandard.AllowNonStandardDateTime;
            var obj = Utils.Parse(
                Xml,
                typeof(DateTime),
                MappingAction.Error,
                serializer,
                out parsedType,
                out parsedArrayType);

            obj.ShouldBe(new DateTime(2002, 7, 6, 11, 25, 37));
        }
Ejemplo n.º 5
0
        public void DateTime_TZMinus01Colon30()
        {
            // yyyyMMddThh:mm:ssZ+00
            Type         parsedType, parsedArrayType;
            const string Xml        = @"<?xml version=""1.0"" ?><value><dateTime.iso8601>20020706T09:55:37-01:30</dateTime.iso8601></value>";
            var          serializer = new XmlRpcDeserializer();

            serializer.NonStandard = XmlRpcNonStandard.AllowNonStandardDateTime;
            var obj = Utils.Parse(
                Xml,
                typeof(DateTime),
                MappingAction.Error,
                serializer,
                out parsedType,
                out parsedArrayType);

            obj.ShouldBe(new DateTime(2002, 7, 6, 11, 25, 37));
        }
Ejemplo n.º 6
0
        public static object Parse(
            XmlReader rdr,
            Type valueType,
            MappingAction action,
            XmlRpcDeserializer deserializer,
            out Type parsedType,
            out Type parsedArrayType)
        {
            parsedType = parsedArrayType = null;
            rdr.ReadToDescendant("value");
            var parseStack = new MappingStack("request");

            return(deserializer.ParseValueElement(
                       rdr,
                       valueType,
                       parseStack,
                       action));
        }
Ejemplo n.º 7
0
        public static object Parse(
            string xml,
            Type valueType,
            MappingAction action,
            XmlRpcDeserializer serializer,
            out Type parsedType,
            out Type parsedArrayType)
        {
            var sr = new StringReader(xml);

            return(Parse(
                       XmlRpcXmlReader.Create(sr),
                       valueType,
                       action,
                       serializer,
                       out parsedType,
                       out parsedArrayType));
        }