public void ParseHamlFile_MultiLineTemplates_AddsLineBreakNode() { const string template = "Line1\nLine2"; var file = new HamlFileLexer().Read(template); var result = _parser.ParseHamlFile(file); Assert.That(result.Children.ToList()[1].Content, Is.EqualTo("\n")); }
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); }
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)); }
public void ParseHamlFile_InlineContent_PlacesLineBreaksCorrectly() { const string template = "%p =DateTime.Now()"; var file = new HamlFileLexer().Read(template); var result = _parser.ParseHamlFile(file); var children = result.Children.ToList(); Assert.That(children[0].Children.Count(), Is.EqualTo(1)); Assert.That(children[0].Children.First().Content, Is.EqualTo("DateTime.Now()")); }
public void HamlDocumentParser_JsonFiles_GeneratesCorrectContentIndexes(string testToExecute) { var documentList = TestDocumentLoader.LoadDocumentList(); var document = documentList.Single(x => x.Name == testToExecute); var hamlFile = new HamlFileLexer().Read(document.Content); var hamlTree = new HamlTreeParser().ParseHamlFile(hamlFile); int tokenIndex = 0; VerifyTokens(hamlTree, ref tokenIndex, document.TokenList); }
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.Metrics.LineNo, Is.EqualTo(c)); result.MoveNext(); } }
public void ParseHamlFile_NestedContent_PlacesLineBreaksCorrectly() { const string template = "%p Line 1\n%p\n Line 2\n%p Line 3"; var file = new HamlFileLexer().Read(template); var result = _parser.ParseHamlFile(file); var children = result.Children.ToList(); Assert.That(children[1].Content, Is.EqualTo("\n")); Assert.That(children[2].Children.First().Content, Is.EqualTo("\n")); Assert.That(children[2].Children.Count(), Is.EqualTo(2)); Assert.That(children[3].Content, Is.EqualTo("\n")); }
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); } }
public void ParseHamlFile_SingleLevelTemplates_TreeContainsCorrectNoOfChildren(string template, int expectedChildrenCount) { var file = new HamlFileLexer().Read(template); var result = _parser.ParseHamlFile(file); Assert.That(result.Children.Count(), Is.EqualTo(expectedChildrenCount)); }
public void ParseHamlFile_MultiLevelTemplates_TreeContainsCorrectNoChildren(string template, int expectedChildren) { var file = new HamlFileLexer().Read(template); var result = _parser.ParseHamlFile(file); Assert.AreEqual(expectedChildren, result.Children.Count()); }
public void ParseHamlFile_DifferentLineTypes_CreatesCorrectTreeNodeTypes(string template, Type nodeType) { var file = new HamlFileLexer().Read(template); var result = _parser.ParseHamlFile(file); Assert.IsInstanceOf(nodeType, result.Children.First()); }
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)); }
public void Read_ReturnsHamlFileWithCorrectLineCount(string template, int expectedLineCount) { var textReader = new StringReader(template); var result = new HamlFileLexer().Read(textReader, ""); Assert.AreEqual(expectedLineCount, result.LineCount); }
public void Read_NormalUse_ReturnsHamlFile() { var textReader = new StringReader(""); var result = new HamlFileLexer().Read(textReader, ""); Assert.IsInstanceOf<HamlFile>(result); }
public void ParseHamlFile_SingleLineTemplate_ReturnsHamlTree() { var file = new HamlFileLexer().Read("Test"); var result = _parser.ParseHamlFile(file); Assert.IsInstanceOf(typeof(HamlDocument), result); }
public ViewSourceParser(HamlFileLexer fileLexer, HamlTreeParser treeParser) { _fileLexer = fileLexer; _treeParser = treeParser; }
public HamlTreeParser(HamlFileLexer hamlFileLexer) { _hamlFileLexer = hamlFileLexer; }
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); }