public void TestParseBrokenData()
        {
            JObject       fieldsData = JObject.Parse("{}");
            List <IField> fields     = ScFieldsParser.ParseFieldsData(fieldsData, CancellationToken.None);

            ;
            Assert.True(fields.Count == 2);
            ScField field1 = (ScField)fields[0];

            Assert.AreEqual("{75577384-3C97-45DA-A847-81B00500E250}", field1.FieldId);
            ScField field2 = (ScField)fields[1];

            Assert.AreEqual("{A60ACD61-A6DB-4182-8329-C957982CEC74}", field2.FieldId);
        }
Exemplo n.º 2
0
        static void ProcessFile(string filePath)
        {
            var rootItem = new ScFile();

            using (var reader = new StreamReader(filePath))
            //using (var writer = new StreamWriter (filePath))
            {
                //string text = reader.ReadLine();
                var item  = new ScBaseField();
                var ready = false;

                while (!ready)
                {
                    string text = reader.ReadLine();
                    switch (text)
                    {
                    case ItemHeader:
                        break;

                    case VersionHeader:
                        rootItem.Fields.Add(item);
                        item = new ScVersion();
                        break;

                    case FieldHeader:
                        rootItem.Fields.Add(item);
                        item = new ScField();
                        break;

                    case null:
                        rootItem.Fields.Add(item);
                        ready = true;
                        break;

                    default: item.Values.Add(text);
                        break;
                    }
                }
            }

            //var np = filePath.Replace(@"C:\temp\test\tds", @"C:\temp\test1\tds");

            using (var writer = new StreamWriter(filePath))
            {
                foreach (var field in rootItem.Fields)
                {
                    writer.Write(field.GetText());
                }
            }
        }
        public void TestParseCorrectData()
        {
            JObject fieldsData = JObject.Parse("{\n\"{75577384-3C97-45DA-A847-81B00500E250}\":{\n\"Name\":\"Title\",\n\"Type\":\"text\",\n\"Value\":\"RichText\"\n},\n\"{A60ACD61-A6DB-4182-8329-C957982CEC74}\":{\n\"Name\":\"Text\",\n\"Type\":\"Rich Text\",\n\"Value\":\"\\u003cp\\u003eWelcome to Sitecore\\u003c/p\\u003e\\r\\n\\r\\n\\u003cp\\u003e This is an image with full media path \\\"http://mobiledev1ua1.dk.sitecore.net:89/~/media/4F20B519D5654472B01891CB6103C667.ashx\\\" \\u003cbr\\u003e\\r\\n\\r\\n\\u003c/p\\u003e\\r\\n\\r\\n\\u003cp\\u003eAnd this one has a short media path \\\"~/media/4F20B519D5654472B01891CB6103C667.ashx\\\" \\u003cbr\\u003e\\r\\n\\r\\n\\u003c/p\\u003e\\r\\n\\r\\n\\u003cp\\u003eThey must look the same\\u003c/p\\u003e\"\n}\n}");

            ;
            List <IField> fields = ScFieldsParser.ParseFieldsData(fieldsData, CancellationToken.None);

            ;
            Assert.True(fields.Count == 2);
            ScField field1 = (ScField)fields[0];

            Assert.AreEqual("{75577384-3C97-45DA-A847-81B00500E250}", field1.FieldId);
            ScField field2 = (ScField)fields[1];

            Assert.AreEqual("{A60ACD61-A6DB-4182-8329-C957982CEC74}", field2.FieldId);
        }