Ejemplo n.º 1
0
        public string SerializeYaml(IItemData item)
        {
            using (var stream = new MemoryStream())
            {
                _formatter.WriteSerializedItem(item, stream);
                stream.Seek(0, SeekOrigin.Begin);

                using (var reader = new StreamReader(stream))
                {
                    return(reader.ReadToEnd());
                }
            }
        }
Ejemplo n.º 2
0
        public ActionResult GetItemYaml(string id)
        {
            Assert.ArgumentNotNullOrEmpty(id, "id");
            using (var stream = new MemoryStream())
            {
                Formatter.WriteSerializedItem(_sitecore.GetItemData(Guid.Parse(id)), stream);
                stream.Seek(0, SeekOrigin.Begin);

                using (var reader = new StreamReader(stream))
                {
                    return(Content(reader.ReadToEnd()));
                }
            }
        }
Ejemplo n.º 3
0
        public void YamlFormatter_WritesItem_WithFieldFormatter_AsExpected()
        {
            var xmlConfigNode = @"<serializationFormatter>
						<fieldFormatter type=""Rainbow.Formatting.FieldFormatters.MultilistFormatter, Rainbow"" />
					</serializationFormatter>"                    ;

            var configDoc = new XmlDocument();

            configDoc.LoadXml(xmlConfigNode);

            var formatter = new YamlSerializationFormatter(configDoc.DocumentElement, null);

            var item = new FakeItem(
                id: new Guid("a4f985d9-98b3-4b52-aaaf-4344f6e747c6"),
                parentId: new Guid("001dd393-96c5-490b-924a-b0f25cd9efd8"),
                templateId: new Guid("007a464d-5b09-4d0e-8481-cb6a604a5948"),
                path: "/sitecore/content/test",
                sharedFields: new[]
            {
                new FakeFieldValue("{35633C96-8494-4C05-A62A-954E2B401A4D}|{1486633B-3A5D-40D6-99D5-920FDFA63617}", "Multilist", new Guid("549fa670-79ab-4810-9450-aba0c06a2b87"), "Multilist Field")
            },
                name: "test");

            var expectedYml = @"---
ID: a4f985d9-98b3-4b52-aaaf-4344f6e747c6
Parent: 001dd393-96c5-490b-924a-b0f25cd9efd8
Template: 007a464d-5b09-4d0e-8481-cb6a604a5948
Path: /sitecore/content/test
DB: master
SharedFields:
- ID: 549fa670-79ab-4810-9450-aba0c06a2b87
  Hint: Multilist Field
  Type: Multilist
  Value: |
    {35633C96-8494-4C05-A62A-954E2B401A4D}
    {1486633B-3A5D-40D6-99D5-920FDFA63617}
";

            using (var ms = new MemoryStream())
            {
                formatter.WriteSerializedItem(item, ms);

                ms.Seek(0, SeekOrigin.Begin);

                using (var reader = new StreamReader(ms))
                {
                    var yml = reader.ReadToEnd();

                    Assert.Equal(expectedYml, yml);
                }
            }
        }
Ejemplo n.º 4
0
        public static string GetYaml(this Item item)
        {
            using (var stream = new MemoryStream())
            {
                ItemData data = new ItemData(item);
                Formatter.WriteSerializedItem(data, stream);
                stream.Seek(0, SeekOrigin.Begin);

                using (var reader = new StreamReader(stream))
                {
                    return(reader.ReadToEnd());
                }
            }
        }
Ejemplo n.º 5
0
        public void YamlFormatter_WritesItem_AsExpected()
        {
            var formatter = new YamlSerializationFormatter(null, null);

            var item = new FakeItem(
                id: new Guid("a4f985d9-98b3-4b52-aaaf-4344f6e747c6"),
                parentId: new Guid("001dd393-96c5-490b-924a-b0f25cd9efd8"),
                templateId: new Guid("007a464d-5b09-4d0e-8481-cb6a604a5948"),
                path: "/sitecore/content/test",
                sharedFields: new[]
            {
                new FakeFieldValue("SHARED", string.Empty, new Guid("549fa670-79ab-4810-9450-aba0c06a2b87"), "Text Shared")
            },
                name: "test",
                branchId: new Guid("25bed78c-4957-4165-998a-ca1b52f67497"),
                versions: new[]
            {
                new FakeItemVersion(1, "en", new FakeFieldValue("20140918T062658:635466184182719253", string.Empty, new Guid("25bed78c-4957-4165-998a-ca1b52f67497"), "__Created")),
            },
                unversionedFields: new[]
            {
                new ProxyItemLanguage(new CultureInfo("en"))
                {
                    Fields = new[] { new FakeFieldValue("unversioned", string.Empty, new Guid("ffffd78c-4957-4165-998a-ca1b52f67497"), "Unversioned") }
                }
            });

            var expectedYml = @"---
ID: a4f985d9-98b3-4b52-aaaf-4344f6e747c6
Parent: 001dd393-96c5-490b-924a-b0f25cd9efd8
Template: 007a464d-5b09-4d0e-8481-cb6a604a5948
Path: /sitecore/content/test
DB: master
BranchID: 25bed78c-4957-4165-998a-ca1b52f67497
SharedFields:
- ID: 549fa670-79ab-4810-9450-aba0c06a2b87
  Hint: Text Shared
  Value: SHARED
Languages:
- Language: en
  Fields:
  - ID: ffffd78c-4957-4165-998a-ca1b52f67497
    Hint: Unversioned
    Value: unversioned
  Versions:
  - Version: 1
    Fields:
    - ID: 25bed78c-4957-4165-998a-ca1b52f67497
      Hint: __Created
      Value: 20140918T062658:635466184182719253
";

            using (var ms = new MemoryStream())
            {
                formatter.WriteSerializedItem(item, ms);

                ms.Seek(0, SeekOrigin.Begin);

                using (var reader = new StreamReader(ms))
                {
                    var yml = reader.ReadToEnd();

                    Assert.Equal(expectedYml, yml);
                }
            }
        }
		public void YamlFormatter_WritesItem_WithFieldFormatter_AsExpected()
		{
			var xmlConfigNode = @"<serializationFormatter>
						<fieldFormatter type=""Rainbow.Formatting.FieldFormatters.MultilistFormatter, Rainbow"" />
					</serializationFormatter>";

			var configDoc = new XmlDocument();
			configDoc.LoadXml(xmlConfigNode);

			var formatter = new YamlSerializationFormatter(configDoc.DocumentElement, null);

			var item = new FakeItem(
				id: new Guid("a4f985d9-98b3-4b52-aaaf-4344f6e747c6"),
				parentId: new Guid("001dd393-96c5-490b-924a-b0f25cd9efd8"),
				templateId: new Guid("007a464d-5b09-4d0e-8481-cb6a604a5948"),
				path: "/sitecore/content/test",
				sharedFields: new[]
				{
					new FakeFieldValue("{35633C96-8494-4C05-A62A-954E2B401A4D}|{1486633B-3A5D-40D6-99D5-920FDFA63617}", "Multilist", new Guid("549fa670-79ab-4810-9450-aba0c06a2b87"), "Multilist Field")
				},
				name: "test");

			var expectedYml = @"---
ID: a4f985d9-98b3-4b52-aaaf-4344f6e747c6
Parent: 001dd393-96c5-490b-924a-b0f25cd9efd8
Template: 007a464d-5b09-4d0e-8481-cb6a604a5948
Path: /sitecore/content/test
DB: master
SharedFields:
- ID: 549fa670-79ab-4810-9450-aba0c06a2b87
  Hint: Multilist Field
  Type: Multilist
  Value: |
    {35633C96-8494-4C05-A62A-954E2B401A4D}
    {1486633B-3A5D-40D6-99D5-920FDFA63617}
";

			using (var ms = new MemoryStream())
			{
				formatter.WriteSerializedItem(item, ms);

				ms.Seek(0, SeekOrigin.Begin);

				using (var reader = new StreamReader(ms))
				{
					var yml = reader.ReadToEnd();

					Assert.Equal(expectedYml, yml);
				}
			}
		}
		public void YamlFormatter_WritesItem_AsExpected()
		{
			var formatter = new YamlSerializationFormatter(null, null);

			var item = new FakeItem(
				id: new Guid("a4f985d9-98b3-4b52-aaaf-4344f6e747c6"),
				parentId: new Guid("001dd393-96c5-490b-924a-b0f25cd9efd8"),
				templateId: new Guid("007a464d-5b09-4d0e-8481-cb6a604a5948"),
				path: "/sitecore/content/test",
				sharedFields: new[]
				{
					new FakeFieldValue("SHARED", string.Empty, new Guid("549fa670-79ab-4810-9450-aba0c06a2b87"), "Text Shared")
				},
				name: "test",
				branchId: new Guid("25bed78c-4957-4165-998a-ca1b52f67497"),
				versions: new[]
				{
					new FakeItemVersion(1, "en", new FakeFieldValue("20140918T062658:635466184182719253", string.Empty, new Guid("25bed78c-4957-4165-998a-ca1b52f67497"), "__Created")),
				},
				unversionedFields: new[]
				{
					new ProxyItemLanguage(new CultureInfo("en")) { Fields = new[] { new FakeFieldValue("unversioned", string.Empty, new Guid("ffffd78c-4957-4165-998a-ca1b52f67497"), "Unversioned") } }
				});

			var expectedYml = @"---
ID: a4f985d9-98b3-4b52-aaaf-4344f6e747c6
Parent: 001dd393-96c5-490b-924a-b0f25cd9efd8
Template: 007a464d-5b09-4d0e-8481-cb6a604a5948
Path: /sitecore/content/test
DB: master
BranchID: 25bed78c-4957-4165-998a-ca1b52f67497
SharedFields:
- ID: 549fa670-79ab-4810-9450-aba0c06a2b87
  Hint: Text Shared
  Value: SHARED
Languages:
- Language: en
  Fields:
  - ID: ffffd78c-4957-4165-998a-ca1b52f67497
    Hint: Unversioned
    Value: unversioned
  Versions:
  - Version: 1
    Fields:
    - ID: 25bed78c-4957-4165-998a-ca1b52f67497
      Hint: __Created
      Value: 20140918T062658:635466184182719253
";

			using (var ms = new MemoryStream())
			{
				formatter.WriteSerializedItem(item, ms);

				ms.Seek(0, SeekOrigin.Begin);

				using (var reader = new StreamReader(ms))
				{
					var yml = reader.ReadToEnd();

					Assert.Equal(expectedYml, yml);
				}
			}

		}