Example #1
0
        public void Read_ReturnsLineWithCorrectIndent(string template, int expectedIndentCount)
        {
            var textReader = new StringReader(template);
            var result     = new HamlFileLexer().Read(textReader, "");

            Assert.AreEqual(expectedIndentCount, result.CurrentLine.IndentCount);
        }
Example #2
0
        public void Read_NormalUse_ReturnsHamlFile()
        {
            var textReader = new StringReader("");
            var result     = new HamlFileLexer().Read(textReader, "");

            Assert.IsInstanceOf <HamlFile>(result);
        }
Example #3
0
        public void Read_FileName_ResultContainsFileName()
        {
            const string fileName   = "testFileName";
            var          textReader = new StringReader("");
            var          result     = new HamlFileLexer().Read(textReader, fileName);

            Assert.That(result.FileName, Is.EqualTo(fileName));
        }
Example #4
0
        public void Read_SingleLineTemplate_MoveNextReturnsNullCurrentLine()
        {
            string template   = "test";
            var    textReader = new StringReader(template);
            var    result     = new HamlFileLexer().Read(textReader, "");

            result.MoveNext();
            Assert.IsNull(result.CurrentLine);
        }
Example #5
0
        public void Read_SplitLineTag_ReturnsSingleLine(string template, string expectedTag, string expectedContent)
        {
            var textReader = new StringReader(template);
            var result     = new HamlFileLexer().Read(textReader, "");

            Assert.That(result.CurrentLine.Content, Is.EqualTo(expectedTag));
            result.MoveNext();
            Assert.That(result.CurrentLine.Content, Is.EqualTo(expectedContent));
        }
Example #6
0
        public void Read_MultiLineTemplate_MoveNextReturnsSecondCurrentLine()
        {
            string template   = "test\ntest2";
            var    textReader = new StringReader(template);
            var    result     = new HamlFileLexer().Read(textReader, "");

            result.MoveNext();
            Assert.AreEqual("test2", result.CurrentLine.Content);
        }
Example #7
0
        public void Read_DeterminesLineNumbersCorrectly()
        {
            var textReader = new StringReader("Line1\nLine2\r\nLine3\n\rLine4");
            var result     = new HamlFileLexer().Read(textReader, "");

            // Assert
            for (int c = 1; c < 5; c++)
            {
                Assert.That(result.CurrentLine.SourceFileLineNo, Is.EqualTo(c));
                result.MoveNext();
            }
        }
Example #8
0
        public void Read_HandlesNonStandardLineBreaksCorrectly(string template, int expectedLineCount, string expectedLine1, string expectedLine2)
        {
            var textReader = new StringReader(template);
            var result     = new HamlFileLexer().Read(textReader, "");

            // Assert
            Assert.AreEqual(expectedLineCount, result.LineCount);
            Assert.AreEqual(expectedLine1, result.CurrentLine.Content);
            if (!result.EndOfFile)
            {
                result.MoveNext();
                Assert.AreEqual(expectedLine2, result.CurrentLine.Content);
            }
        }
Example #9
0
 public HamlTreeParser(HamlFileLexer hamlFileLexer)
 {
     _hamlFileLexer = hamlFileLexer;
 }