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); }
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); }