Beispiel #1
0
        public void AttributeParsing_NamespacesMissingNameAndPrefix()
        {
            var target = ParserAccessor.CreateParser(":=foo");

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.False(at.HasName());

                Assert.True(at.HasValue());
                Assert.Equal(2, at.ValueToken.Start);
                Assert.Equal(3, at.ValueToken.Length);

                NameToken nameToken = at.NameToken as NameToken;

                Assert.Equal(1, nameToken.ColonRange.Length);

                Assert.False(nameToken.HasName());
                Assert.Equal(0, nameToken.NameRange.Length);

                Assert.False(nameToken.HasPrefix());
                Assert.Equal(0, nameToken.PrefixRange.Length);
            };
            target.OnAttributeState();
        }
Beispiel #2
0
        public void AttributeParsing_Namespaces()
        {
            var target = ParserAccessor.CreateParser("ns:name=foo");

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.True(at.HasName());
                Assert.Equal(0, at.NameToken.Start);
                Assert.Equal(7, at.NameToken.End);

                Assert.True(at.HasValue());
                Assert.Equal(8, at.ValueToken.Start);
                Assert.Equal(11, at.ValueToken.End);

                NameToken nameToken = at.NameToken as NameToken;

                Assert.True(nameToken.HasQualifiedName());

                Assert.True(nameToken.NameRange.Length > 0);
                Assert.Equal(3, nameToken.NameRange.Start);
                Assert.Equal(7, nameToken.NameRange.End);

                Assert.True(nameToken.PrefixRange.Length > 0);
                Assert.Equal(0, nameToken.PrefixRange.Start);
                Assert.Equal(2, nameToken.PrefixRange.End);
            };

            target.OnAttributeState();
        }
Beispiel #3
0
        public void AttributeParse_MissingNameAndValue()
        {
            var target = ParserAccessor.CreateParser("=");

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.False(at.HasName());
                Assert.False(at.HasValue());
            };

            target.OnAttributeState(100);
        }
Beispiel #4
0
        public void AttributeParse_WellFormed4()
        {
            var target = ParserAccessor.CreateParser("nowrap");

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.True(at.HasName());
                Assert.Equal(0, at.NameToken.Start);
                Assert.Equal(6, at.NameToken.Length);

                Assert.False(at.HasValue());
            };

            target.OnAttributeState(100);
        }
Beispiel #5
0
        public void AttributeParse_WellFormed1()
        {
            var target = ParserAccessor.CreateParser("foo=bar");

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.True(at.HasName());
                Assert.Equal(0, at.NameToken.Start);
                Assert.Equal(3, at.NameToken.End);

                Assert.True(at.HasValue());
                Assert.Equal(4, at.ValueToken.Start);
                Assert.Equal(7, at.ValueToken.End);
            };

            target.OnAttributeState(100);
        }
Beispiel #6
0
        public void AttributeParse_InlineStyle()
        {
            var target = ParserAccessor.CreateParser("style=\"display:none;\"");

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.True(at.HasName());
                Assert.Equal(0, at.NameToken.Start);
                Assert.Equal(5, at.NameToken.Length);

                Assert.True(at.HasValue());
                Assert.Equal(6, at.ValueToken.Start);
                Assert.Equal(15, at.ValueToken.Length);
            };

            target.OnAttributeState(100);
        }
Beispiel #7
0
        public void AttributeParse_WellFormed2()
        {
            var text   = "class=\"foo\"";
            var target = ParserAccessor.CreateParser(text);

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.True(at.HasName());
                Assert.Equal(0, at.NameToken.Start);
                Assert.Equal(5, at.NameToken.End);

                Assert.True(at.HasValue());
                Assert.Equal(6, at.ValueToken.Start);
                Assert.Equal(text.Length, at.ValueToken.End);
            };

            target.OnAttributeState(100);
        }
Beispiel #8
0
        public void AttributeParse_Script()
        {
            var text   = "onclick=\"window.navigateTo(x<y)\"  ";
            var target = ParserAccessor.CreateParser(text);

            target.AttributeFound +=
                delegate(object sender, HtmlParserAttributeEventArgs args) {
                Assert.True(args.AttributeToken is AttributeToken);
                AttributeToken at = args.AttributeToken;

                Assert.True(at.HasName());
                Assert.Equal(0, at.NameToken.Start);
                Assert.Equal(7, at.NameToken.End);

                Assert.True(at.HasValue());
                Assert.Equal(8, at.ValueToken.Start);
                Assert.Equal(text.Length - 2, at.ValueToken.End);
            };

            target.OnAttributeState(100);
        }