Пример #1
0
        private static void EncodingTest(string input, string output = null)
        {
            // setup
            var changeset = new ExchangeChangeSet();

            changeset.AddedTasks.Add(new ExchangeTask {
                Subject = input
            });

            // act
            var    parameter = new SyncCommandParameter("syncKey", "folderId", changeset);
            string xml       = parameter.BuildXml("command");

            // check
            const string subjectFormat = "<tasks:Subject>{0}</tasks:Subject>";
            string       subject       = string.Format(subjectFormat, output ?? input);

            Assert.IsTrue(xml.Contains(subject));
        }
Пример #2
0
        public void Handle_special_character()
        {
            // setup
            var changeset = new ExchangeChangeSet();

            changeset.AddedTasks.Add(new ExchangeTask {
                Subject = "title /{ test"
            });
            changeset.AddedTasks.Add(new ExchangeTask {
                Subject = "title {} test"
            });
            changeset.AddedTasks.Add(new ExchangeTask {
                Subject = "title #d.3 test"
            });

            // act
            var    parameter = new SyncCommandParameter("syncKey", "folderId", changeset);
            string xml       = parameter.BuildXml("command");

            // check
            Assert.IsFalse(string.IsNullOrWhiteSpace(xml));
        }
Пример #3
0
        public void Escape_invalid_xml_character()
        {
            // non-reg test for the following exception (Windows 8 only apparently)
            // ActiveSync: System.ArgumentException: ' ', hexadecimal value 0x0B, is an invalid character.
            // at System.Xml.XmlEncodedRawTextWriter.InvalidXmlChar(Int32 ch, Char* pDst, Boolean entitize)
            // ...
            // at Chartreuse.Today.Exchange.ActiveSync.Commands.SyncCommandParameter.CreateTaskXml(ExchangeTask task, StringBuilder builder, Boolean isAdd)
            // at Chartreuse.Today.Exchange.ActiveSync.Commands.SyncCommandParameter.AppendAddedTasks(StringBuilder xmlBuilder) at

            // setup
            var changeset = new ExchangeChangeSet();

            changeset.AddedTasks.Add(new ExchangeTask {
                Subject = "hello " + (char)0x0B + "world !"
            });

            // act
            var    parameter = new SyncCommandParameter("syncKey", "folderId", changeset);
            string xml       = parameter.BuildXml("command");

            // check
            Assert.IsFalse(string.IsNullOrWhiteSpace(xml));
            Assert.IsTrue(xml.Contains("hello world !"));
        }