public void GetTokens_ParentAndChildShareDefaultNamespace_ReturnsSequence() { var input = new[] { MarkupGrammar.TokenElementBegin(new DataName("foo", String.Empty, "http://example.org")), MarkupGrammar.TokenElementBegin(new DataName("child", String.Empty, "http://example.org")), MarkupGrammar.TokenPrimitive("value"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, }; var expected = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive("foo"), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty("xmlns"), ModelGrammar.TokenPrimitive("http://example.org"), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive("child"), ModelGrammar.TokenPrimitive("value"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenArrayEnd }; var converter = new JsonMLReader.JsonMLInTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_AttributeWhitespaceQuotDelims_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("root")), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty(new DataName("white")), ModelGrammar.TokenPrimitive(" extra whitespace around quote delims "), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("root")), MarkupGrammar.TokenAttribute(new DataName("white")), MarkupGrammar.TokenPrimitive(" extra whitespace around quote delims "), MarkupGrammar.TokenElementEnd }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_NestedObjectsAlternatingNamespaces_CorrectlyEmitsNamespaces() { var input = new[] { MarkupGrammar.TokenElementBegin(new DataName("foo1", String.Empty, "http://json.org")), MarkupGrammar.TokenElementBegin(new DataName("key1", String.Empty, "http://jsonfx.net")), MarkupGrammar.TokenElementBegin(new DataName("key2", String.Empty, "http://json.org")), MarkupGrammar.TokenPrimitive("value"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, }; var expected = new[] { ModelGrammar.TokenObjectBegin(new DataName("foo1", String.Empty, "http://json.org")), ModelGrammar.TokenProperty(new DataName("key1", String.Empty, "http://jsonfx.net")), ModelGrammar.TokenObjectBegin(new DataName("key2", String.Empty, "http://json.org")), ModelGrammar.TokenProperty(new DataName("key2", String.Empty, "http://json.org")), ModelGrammar.TokenPrimitive("value"), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenObjectEnd }; var transformer = new XmlReader.XmlInTransformer(new DataReaderSettings()); var actual = transformer.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_MultipleAttributes_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("root")), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty(new DataName("no-value")), ModelGrammar.TokenPrimitive(String.Empty), ModelGrammar.TokenProperty(new DataName("whitespace")), ModelGrammar.TokenPrimitive(" this contains whitespace "), ModelGrammar.TokenProperty(new DataName("anyQuotedText")), ModelGrammar.TokenPrimitive("/\\\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?"), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("root")), MarkupGrammar.TokenAttribute(new DataName("no-value")), MarkupGrammar.TokenPrimitive(String.Empty), MarkupGrammar.TokenAttribute(new DataName("whitespace")), MarkupGrammar.TokenPrimitive(" this contains whitespace "), MarkupGrammar.TokenAttribute(new DataName("anyQuotedText")), MarkupGrammar.TokenPrimitive("/\\\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?"), MarkupGrammar.TokenElementEnd }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_NamespacedChildTag_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("foo")), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("child", String.Empty, "http://example.com/schema")), ModelGrammar.TokenPrimitive("value"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("foo")), MarkupGrammar.TokenElementBegin(new DataName("child", String.Empty, "http://example.com/schema")), MarkupGrammar.TokenPrimitive("value"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_ArrayMultiItem_ReturnsExpectedArray() { var input = new[] { MarkupGrammar.TokenElementBegin(new DataName("array")), MarkupGrammar.TokenElementBegin(new DataName("item")), MarkupGrammar.TokenPrimitive(0), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementVoid(new DataName("item")), MarkupGrammar.TokenElementBegin(new DataName("item")), MarkupGrammar.TokenPrimitive(false), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementBegin(new DataName("item")), MarkupGrammar.TokenPrimitive(true), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, }; var expected = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(0), ModelGrammar.TokenNull, ModelGrammar.TokenFalse, ModelGrammar.TokenTrue, ModelGrammar.TokenArrayEnd }; var transformer = new XmlReader.XmlInTransformer(new DataReaderSettings()); var actual = transformer.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_ArrayOneItem_ReturnsExpectedArray() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenNull, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("div")), MarkupGrammar.TokenElementBegin(new DataName("ol")), MarkupGrammar.TokenElementBegin(new DataName("li")), MarkupGrammar.TokenPrimitive(null), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd }; var transformer = new HtmlOutTransformer(); var actual = transformer.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_ParentAndChildSharePrefixedNamespace_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("foo", "bar", "http://example.org")), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("child", "bar", "http://example.org")), ModelGrammar.TokenPrimitive("value"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("foo", "bar", "http://example.org")), MarkupGrammar.TokenElementBegin(new DataName("child", "bar", "http://example.org")), MarkupGrammar.TokenPrimitive("value"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_NamedObjectOneProperty_RendersSimpleObject() { var input = new[] { ModelGrammar.TokenObjectBegin("Yada"), ModelGrammar.TokenProperty("key"), ModelGrammar.TokenPrimitive("value"), ModelGrammar.TokenObjectEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("div")), MarkupGrammar.TokenElementBegin(new DataName("dl")), MarkupGrammar.TokenAttribute(new DataName("title")), MarkupGrammar.TokenPrimitive(new DataName("Yada")), MarkupGrammar.TokenElementBegin(new DataName("dt")), MarkupGrammar.TokenPrimitive(new DataName("key")), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementBegin(new DataName("dd")), MarkupGrammar.TokenPrimitive("value"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd }; var transformer = new HtmlOutTransformer(); var actual = transformer.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_ParentAndChildDifferentDefaultNamespaces_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("foo", String.Empty, "http://json.org")), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("child", String.Empty, "http://jsonfx.net")), ModelGrammar.TokenPrimitive("text value"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("foo", String.Empty, "http://json.org")), MarkupGrammar.TokenElementBegin(new DataName("child", String.Empty, "http://jsonfx.net")), MarkupGrammar.TokenPrimitive("text value"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_HtmlContent_ReturnsMarkup() { var input = new[] { MarkupGrammar.TokenElementBegin(new DataName("div")), MarkupGrammar.TokenAttribute(new DataName("class")), MarkupGrammar.TokenPrimitive("content"), MarkupGrammar.TokenElementBegin(new DataName("p")), MarkupGrammar.TokenAttribute(new DataName("style")), MarkupGrammar.TokenPrimitive("color:red"), MarkupGrammar.TokenElementBegin(new DataName("strong")), MarkupGrammar.TokenPrimitive("Lorem ipsum"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive(" dolor sit amet, "), MarkupGrammar.TokenElementBegin(new DataName("i")), MarkupGrammar.TokenPrimitive("consectetur"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive(" adipiscing elit."), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, }; const string expected = @"<div class=""content""><p style=""color:red""><strong>Lorem ipsum</strong> dolor sit amet, <i>consectetur</i> adipiscing elit.</p></div>"; var formatter = new HtmlFormatter(new DataWriterSettings()); var actual = formatter.Format(input); Assert.Equal(expected, actual); }
public void GetTokens_HtmlContentPrettyPrinted_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("div")), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty(new DataName("class")), ModelGrammar.TokenPrimitive("content"), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenPrimitive("\r\n\t"), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("p")), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty(new DataName("style")), ModelGrammar.TokenPrimitive("color:red"), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenPrimitive("\r\n\t\t"), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("strong")), ModelGrammar.TokenPrimitive("Lorem ipsum"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenPrimitive(" dolor sit amet, "), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("i")), ModelGrammar.TokenPrimitive("consectetur"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenPrimitive(" adipiscing elit.\r\n\t"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenPrimitive("\r\n"), ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("div")), MarkupGrammar.TokenAttribute(new DataName("class")), MarkupGrammar.TokenPrimitive("content"), MarkupGrammar.TokenPrimitive("\r\n\t"), MarkupGrammar.TokenElementBegin(new DataName("p")), MarkupGrammar.TokenAttribute(new DataName("style")), MarkupGrammar.TokenPrimitive("color:red"), MarkupGrammar.TokenPrimitive("\r\n\t\t"), MarkupGrammar.TokenElementBegin(new DataName("strong")), MarkupGrammar.TokenPrimitive("Lorem ipsum"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive(" dolor sit amet, "), MarkupGrammar.TokenElementBegin(new DataName("i")), MarkupGrammar.TokenPrimitive("consectetur"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive(" adipiscing elit.\r\n\t"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive("\r\n"), MarkupGrammar.TokenElementEnd, }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_DifferentPrefixSameNamespace_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("foo", String.Empty, "http://example.org")), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty(new DataName("key", "blah", "http://example.org")), ModelGrammar.TokenPrimitive("value"), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("foo", String.Empty, "http://example.org")), MarkupGrammar.TokenAttribute(new DataName("key", "blah", "http://example.org")), MarkupGrammar.TokenPrimitive("value"), MarkupGrammar.TokenElementEnd }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
private void EmitNewLine(List <Token <MarkupTokenType> > output) { bool tabIsEmpty = String.IsNullOrEmpty(this.Settings.Tab); if (tabIsEmpty && String.IsNullOrEmpty(this.Settings.NewLine)) { return; } // emit CRLF StringBuilder buffer = new StringBuilder(this.Settings.NewLine); if (!tabIsEmpty) { if (this.Settings.Tab.Length == 1) { buffer.Append(this.Settings.Tab[0], this.depth); } else { for (int i = 0; i < this.depth; i++) { // indent next line accordingly buffer.Append(this.Settings.Tab); } } } output.Add(MarkupGrammar.TokenPrimitive(buffer.ToString())); }
public void GetTokens_HtmlContent_ReturnsSequence() { const string input = @"<div class=""content""><p style=""color:red""><strong>Lorem ipsum</strong> dolor sit amet, <i>consectetur</i> adipiscing elit.</p></div>"; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("div")), MarkupGrammar.TokenAttribute(new DataName("class")), MarkupGrammar.TokenPrimitive("content"), MarkupGrammar.TokenElementBegin(new DataName("p")), MarkupGrammar.TokenAttribute(new DataName("style")), MarkupGrammar.TokenPrimitive("color:red"), MarkupGrammar.TokenElementBegin(new DataName("strong")), MarkupGrammar.TokenPrimitive("Lorem ipsum"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive(" dolor sit amet, "), MarkupGrammar.TokenElementBegin(new DataName("i")), MarkupGrammar.TokenPrimitive("consectetur"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive(" adipiscing elit."), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, }; var tokenizer = new XmlReader.XmlTokenizer(); var actual = tokenizer.GetTokens(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_NamespacedObjectOneProperty_CorrectlyEmitsNamespace() { var input = new[] { ModelGrammar.TokenObjectBegin("foo"), ModelGrammar.TokenProperty(new DataName("key", String.Empty, "http://json.org")), ModelGrammar.TokenPrimitive("value"), ModelGrammar.TokenObjectEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("div")), MarkupGrammar.TokenElementBegin(new DataName("dl")), MarkupGrammar.TokenAttribute(new DataName("title")), MarkupGrammar.TokenPrimitive(new DataName("foo")), MarkupGrammar.TokenElementBegin(new DataName("dt")), MarkupGrammar.TokenPrimitive(new DataName("key", String.Empty, "http://json.org")), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementBegin(new DataName("dd")), MarkupGrammar.TokenPrimitive("value"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd }; var transformer = new HtmlOutTransformer(); var actual = transformer.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_ObjectNested_RendersNestedObject() { // input from pass3.json in test suite at http://www.json.org/JSON_checker/ var input = new[] { MarkupGrammar.TokenElementBegin(new DataName("object")), MarkupGrammar.TokenElementBegin(new DataName("JSON_x0020_Test_x0020_Pattern_x0020_pass3")), MarkupGrammar.TokenElementBegin(new DataName("The_x0020_outermost_x0020_value")), MarkupGrammar.TokenPrimitive("must be an object or array."), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementBegin(new DataName("In_x0020_this_x0020_test")), MarkupGrammar.TokenPrimitive("It is an object."), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenElementEnd, }; var expected = new[] { ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty("JSON Test Pattern pass3"), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty("The outermost value"), ModelGrammar.TokenPrimitive("must be an object or array."), ModelGrammar.TokenProperty("In this test"), ModelGrammar.TokenPrimitive("It is an object."), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenObjectEnd }; var transformer = new XmlReader.XmlInTransformer(new DataReaderSettings()); var actual = transformer.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_SingleAttributeEmptyValue_ReturnsSequence() { var input = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive(new DataName("root")), ModelGrammar.TokenObjectBeginUnnamed, ModelGrammar.TokenProperty(new DataName("emptyValue")), ModelGrammar.TokenPrimitive(String.Empty), ModelGrammar.TokenObjectEnd, ModelGrammar.TokenArrayEnd }; var expected = new[] { MarkupGrammar.TokenElementBegin(new DataName("root")), MarkupGrammar.TokenAttribute(new DataName("emptyValue")), MarkupGrammar.TokenPrimitive(String.Empty), MarkupGrammar.TokenElementEnd }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_PhpHelloWorld_ReturnsSequence() { var input = new[] { MarkupGrammar.TokenElementBegin(new DataName("html")), MarkupGrammar.TokenPrimitive("\r\n\t"), MarkupGrammar.TokenElementBegin(new DataName("head")), MarkupGrammar.TokenPrimitive("\r\n\t\t"), MarkupGrammar.TokenElementBegin(new DataName("title")), MarkupGrammar.TokenPrimitive("PHP Test"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive("\r\n\t"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive("\r\n\t"), MarkupGrammar.TokenElementBegin(new DataName("body")), MarkupGrammar.TokenPrimitive("\r\n\t\t"), MarkupGrammar.TokenUnparsed("?", "?", @"php echo '<p>Hello World</p>'; "), MarkupGrammar.TokenPrimitive("\r\n\t"), MarkupGrammar.TokenElementEnd, MarkupGrammar.TokenPrimitive("\r\n"), MarkupGrammar.TokenElementEnd, }; var expected = new[] { ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive("html"), ModelGrammar.TokenPrimitive("\r\n\t"), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive("head"), ModelGrammar.TokenPrimitive("\r\n\t\t"), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive("title"), ModelGrammar.TokenPrimitive("PHP Test"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenPrimitive("\r\n\t"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenPrimitive("\r\n\t"), ModelGrammar.TokenArrayBeginUnnamed, ModelGrammar.TokenPrimitive("body"), ModelGrammar.TokenPrimitive("\r\n\t\t"), ModelGrammar.TokenPrimitive(new UnparsedBlock("?", "?", @"php echo '<p>Hello World</p>'; ")), ModelGrammar.TokenPrimitive("\r\n\t"), ModelGrammar.TokenArrayEnd, ModelGrammar.TokenPrimitive("\r\n"), ModelGrammar.TokenArrayEnd, }; var converter = new JsonMLReader.JsonMLInTransformer { Whitespace = WhitespaceType.Preserve }; var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_XmlEntityB_ReturnsMarkup() { var input = new[] { MarkupGrammar.TokenPrimitive("B") }; const string expected = @"B"; var formatter = new HtmlFormatter(new DataWriterSettings()); var actual = formatter.Format(input); Assert.Equal(expected, actual); }
public void GetTokens_HtmlEntityEuro_ReturnsSequence() { const string input = @"€"; var expected = new[] { MarkupGrammar.TokenPrimitive("€") }; var tokenizer = new XmlReader.XmlTokenizer(); var actual = tokenizer.GetTokens(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_MixedEntities_ReturnsMarkup() { var input = new[] { MarkupGrammar.TokenPrimitive(@"there should <b>e decoded chars & inside this text") }; const string expected = @"there should <b>e decoded chars & inside this text"; var formatter = new HtmlFormatter(new DataWriterSettings()); var actual = formatter.Format(input); Assert.Equal(expected, actual); }
public void Format_MarkupLikeText_ReturnsTextValue() { var input = new[] { MarkupGrammar.TokenPrimitive(@"value>""0"" && value<""10"" ?""valid"":""error""") }; const string expected = @"value>""0"" && value<""10"" ?""valid"":""error"""; var formatter = new HtmlFormatter(new DataWriterSettings()); var actual = formatter.Format(input); Assert.Equal(expected, actual); }
public void GetTokens_XmlEntityHexLowerCase_ReturnsSequence() { const string input = @"ꯍ"; var expected = new[] { MarkupGrammar.TokenPrimitive("\uabcd") }; var tokenizer = new XmlReader.XmlTokenizer(); var actual = tokenizer.GetTokens(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_EntityWithTrailingText_ReturnsSequence() { const string input = @"&trailing"; var expected = new[] { MarkupGrammar.TokenPrimitive("&trailing") }; var tokenizer = new XmlReader.XmlTokenizer(); var actual = tokenizer.GetTokens(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_XmlCData_ReturnsTextValue() { const string input = @"<![CDATA[value>""0"" && value<""10"" ?""valid"":""error""]]>"; var expected = new[] { MarkupGrammar.TokenPrimitive(@"value>""0"" && value<""10"" ?""valid"":""error""") }; var tokenizer = new XmlReader.XmlTokenizer(); var actual = tokenizer.GetTokens(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_MixedEntities_ReturnsSequence() { const string input = @"there should <b>e decoded chars & inside this text"; var expected = new[] { MarkupGrammar.TokenPrimitive(@"there should <b>e decoded chars & inside this text") }; var tokenizer = new XmlReader.XmlTokenizer(); var actual = tokenizer.GetTokens(input).ToArray(); Assert.Equal(expected, actual); }
public void Format_EntityWithTrailingText_ReturnsMarkup() { var input = new[] { MarkupGrammar.TokenPrimitive("&"), MarkupGrammar.TokenPrimitive("trailing") }; const string expected = @"&trailing"; var formatter = new HtmlFormatter(new DataWriterSettings()); var actual = formatter.Format(input); Assert.Equal(expected, actual); }
public void GetTokens_DifferentPrefixSameNamespace_ReturnsSequence() { const string input = @"<foo xmlns=""http://example.org"" xmlns:blah=""http://example.org"" blah:key=""value"" />"; var expected = new[] { MarkupGrammar.TokenElementVoid(new DataName("foo", String.Empty, "http://example.org")), MarkupGrammar.TokenAttribute(new DataName("key", "blah", "http://example.org")), MarkupGrammar.TokenPrimitive("value") }; var tokenizer = new XmlReader.XmlTokenizer(); var actual = tokenizer.GetTokens(input).ToArray(); Assert.Equal(expected, actual); }
public void GetTokens_TextValue_ReturnsTextValue() { var input = new[] { ModelGrammar.TokenPrimitive(@"value>""0"" && value<""10"" ?""valid"":""error""") }; var expected = new[] { MarkupGrammar.TokenPrimitive(@"value>""0"" && value<""10"" ?""valid"":""error""") }; var converter = new JsonMLWriter.JsonMLOutTransformer(); var actual = converter.Transform(input).ToArray(); Assert.Equal(expected, actual); }