예제 #1
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);
 }
예제 #2
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);
            }
        }
예제 #3
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);
 }
예제 #4
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);
 }
예제 #5
0
 public void Read_NormalUse_ReturnsHamlFile()
 {
     var textReader = new StringReader("");
     var result = new HamlFileLexer().Read(textReader);
     Assert.IsInstanceOf<HamlFile>(result);
 }
예제 #6
0
 public HamlTreeParser(HamlFileLexer hamlFileLexer)
 {
     _hamlFileLexer = hamlFileLexer;
 }