public void CssTextRange_Simple() { ITextProvider textProvider = new StringTextProvider("01234567890123456789"); Assert.AreEqual("01234", textProvider.GetText(10, 5)); Assert.IsFalse(TextRange.Touches(10, 5, -1)); Assert.IsFalse(TextRange.Touches(10, 5, 9)); Assert.IsTrue(TextRange.Touches(10, 5, 10)); Assert.IsTrue(TextRange.Touches(10, 5, 14)); Assert.IsTrue(TextRange.Touches(10, 5, 15)); Assert.IsFalse(TextRange.Touches(10, 5, 16)); Assert.IsFalse(TextRange.Touches(10, 5, 100)); Assert.IsFalse(TextRange.ContainsChar(10, 5, -1)); Assert.IsFalse(TextRange.ContainsChar(10, 5, 9)); Assert.IsTrue(TextRange.ContainsChar(10, 5, 10)); Assert.IsTrue(TextRange.ContainsChar(10, 5, 14)); Assert.IsFalse(TextRange.ContainsChar(10, 5, 15)); Assert.IsFalse(TextRange.ContainsChar(10, 5, 16)); Assert.IsFalse(TextRange.ContainsChar(10, 5, 100)); Assert.IsFalse(TextRange.Intersects(10, 5, 0, 10)); Assert.IsTrue(TextRange.Intersects(10, 5, 0, 11)); Assert.IsFalse(TextRange.Intersects(10, 5, 10, 0)); Assert.IsTrue(TextRange.Intersects(10, 5, 10, 1)); Assert.IsTrue(TextRange.Intersects(10, 5, 11, 10)); Assert.IsTrue(TextRange.Intersects(10, 5, 14, 1)); Assert.IsTrue(TextRange.Intersects(10, 5, 14, 10)); Assert.IsFalse(TextRange.Intersects(10, 5, 15, 0)); Assert.IsFalse(TextRange.Intersects(10, 5, 15, 1)); Assert.IsFalse(TextRange.Intersects(10, 5, 20, 10)); }
public void ParseItem_ContainsTest() { CssParser p = new CssParser(); StyleSheet s = p.Parse("@charset \"foo\"; .a { } .b { } /* */", true); Assert.IsTrue(TextRange.ContainsChar(s.Start, s.Length, 0)); Assert.IsTrue(TextRange.ContainsChar(s.Start, s.Length, s.Start)); Assert.IsTrue(TextRange.ContainsChar(s.Start, s.Length, s.AfterEnd - 1)); Assert.IsTrue(TextRange.ContainsChar(s.Start, s.Length, (s.Start + s.AfterEnd) / 2)); Assert.IsFalse(TextRange.ContainsChar(s.Start, s.Length, s.AfterEnd)); Assert.IsFalse(TextRange.ContainsChar(s.Start, s.Length, (s.Start - 1))); Assert.IsTrue(TextRange.Touches(s.Start, s.Length, s.Start)); Assert.IsTrue(TextRange.Touches(s.Start, s.Length, s.AfterEnd)); Assert.IsFalse(TextRange.Touches(s.Start, s.Length, s.Start - 1)); Assert.IsFalse(TextRange.Touches(s.Start, s.Length, s.AfterEnd + 1)); }