Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/addins/TextTemplating/Mono.TextTemplating.Tests/ParsingTests.cs')
-rw-r--r--main/src/addins/TextTemplating/Mono.TextTemplating.Tests/ParsingTests.cs191
1 files changed, 0 insertions, 191 deletions
diff --git a/main/src/addins/TextTemplating/Mono.TextTemplating.Tests/ParsingTests.cs b/main/src/addins/TextTemplating/Mono.TextTemplating.Tests/ParsingTests.cs
deleted file mode 100644
index 5e2475091d..0000000000
--- a/main/src/addins/TextTemplating/Mono.TextTemplating.Tests/ParsingTests.cs
+++ /dev/null
@@ -1,191 +0,0 @@
-//
-// Test.cs
-//
-// Author:
-// Michael Hutchinson <mhutchinson@novell.com>
-//
-// Copyright (c) 2009 Novell, Inc. (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Collections.Generic;
-using NUnit.Framework;
-
-namespace Mono.TextTemplating.Tests
-{
-
-
- [TestFixture]
- public class ParsingTests
- {
- public static string ParseSample1 =
-@"<#@ template language=""C#v3.5"" #>
-Line One
-Line Two
-<#
-foo
-#>
-Line Three <#= bar #>
-Line Four
-<#+
-baz \#>
-#>
-";
-
- [Test]
- public void TokenTest ()
- {
- string tf = "test.input";
- Tokeniser tk = new Tokeniser (tf, ParseSample1);
-
- //line 1
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 1, 1), tk.Location);
- Assert.AreEqual (State.Content, tk.State);
- Assert.AreEqual ("", tk.Value);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (State.Directive, tk.State);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 1, 5), tk.Location);
- Assert.AreEqual (State.DirectiveName, tk.State);
- Assert.AreEqual ("template", tk.Value);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (State.Directive, tk.State);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 1, 14), tk.Location);
- Assert.AreEqual (State.DirectiveName, tk.State);
- Assert.AreEqual ("language", tk.Value);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (State.Directive, tk.State);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (State.DirectiveValue, tk.State);
- Assert.AreEqual (new Location (tf, 1, 23), tk.Location);
- Assert.AreEqual ("C#v3.5", tk.Value);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (State.Directive, tk.State);
-
- //line 2, 3
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 2, 1), tk.Location);
- Assert.AreEqual (State.Content, tk.State);
- Assert.AreEqual ("Line One\nLine Two\n", tk.Value);
-
- //line 4, 5, 6
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 4, 1), tk.TagStartLocation);
- Assert.AreEqual (new Location (tf, 4, 3), tk.Location);
- Assert.AreEqual (new Location (tf, 6, 3), tk.TagEndLocation);
- Assert.AreEqual (State.Block, tk.State);
- Assert.AreEqual ("\nfoo\n", tk.Value);
-
- //line 7
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 7, 1), tk.Location);
- Assert.AreEqual (State.Content, tk.State);
- Assert.AreEqual ("Line Three ", tk.Value);
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 7, 12), tk.TagStartLocation);
- Assert.AreEqual (new Location (tf, 7, 15), tk.Location);
- Assert.AreEqual (new Location (tf, 7, 22), tk.TagEndLocation);
- Assert.AreEqual (State.Expression, tk.State);
- Assert.AreEqual (" bar ", tk.Value);
-
- //line 8
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 7, 22), tk.Location);
- Assert.AreEqual (State.Content, tk.State);
- Assert.AreEqual ("\nLine Four\n", tk.Value);
-
- //line 9, 10, 11
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 9, 1), tk.TagStartLocation);
- Assert.AreEqual (new Location (tf, 9, 4), tk.Location);
- Assert.AreEqual (new Location (tf, 11, 3), tk.TagEndLocation);
- Assert.AreEqual (State.Helper, tk.State);
- Assert.AreEqual (" \nbaz \\#>\n", tk.Value);
-
- //line 12
- Assert.IsTrue (tk.Advance ());
- Assert.AreEqual (new Location (tf, 12, 1), tk.Location);
- Assert.AreEqual (State.Content, tk.State);
- Assert.AreEqual ("", tk.Value);
-
- //EOF
- Assert.IsFalse (tk.Advance ());
- Assert.AreEqual (new Location (tf, 12, 1), tk.Location);
- Assert.AreEqual (State.EOF, tk.State);
- }
-
- [Test]
- public void ParseTest ()
- {
- string tf = "test.input";
-
- ParsedTemplate pt = new ParsedTemplate ("test.input");
- Tokeniser tk = new Tokeniser (tf, ParseSample1);
- DummyHost host = new DummyHost ();
- pt.Parse (host, tk);
-
- Assert.AreEqual (0, pt.Errors.Count);
- var content = new List<TemplateSegment> (pt.Content);
- var dirs = new List<Directive> (pt.Directives);
-
- Assert.AreEqual (1, dirs.Count);
- Assert.AreEqual (6, content.Count);
-
- Assert.AreEqual ("template", dirs[0].Name);
- Assert.AreEqual (1, dirs[0].Attributes.Count);
- Assert.AreEqual ("C#v3.5", dirs[0].Attributes["language"]);
- Assert.AreEqual (new Location (tf, 1, 1), dirs[0].TagStartLocation);
- Assert.AreEqual (new Location (tf, 1, 34), dirs[0].EndLocation);
-
- Assert.AreEqual ("Line One\nLine Two\n", content[0].Text);
- Assert.AreEqual ("\nfoo\n", content[1].Text);
- Assert.AreEqual ("Line Three ", content[2].Text);
- Assert.AreEqual (" bar ", content[3].Text);
- Assert.AreEqual ("\nLine Four\n", content[4].Text);
- Assert.AreEqual (" \nbaz \\#>\n", content[5].Text);
-
- Assert.AreEqual (SegmentType.Content, content[0].Type);
- Assert.AreEqual (SegmentType.Block, content[1].Type);
- Assert.AreEqual (SegmentType.Content, content[2].Type);
- Assert.AreEqual (SegmentType.Expression, content[3].Type);
- Assert.AreEqual (SegmentType.Content, content[4].Type);
- Assert.AreEqual (SegmentType.Helper, content[5].Type);
-
- Assert.AreEqual (new Location (tf, 4, 1), content[1].TagStartLocation);
- Assert.AreEqual (new Location (tf, 7, 12), content[3].TagStartLocation);
- Assert.AreEqual (new Location (tf, 9, 1), content[5].TagStartLocation);
-
- Assert.AreEqual (new Location (tf, 2, 1), content[0].StartLocation);
- Assert.AreEqual (new Location (tf, 4, 3), content[1].StartLocation);
- Assert.AreEqual (new Location (tf, 7, 1), content[2].StartLocation);
- Assert.AreEqual (new Location (tf, 7, 15), content[3].StartLocation);
- Assert.AreEqual (new Location (tf, 7, 22), content[4].StartLocation);
- Assert.AreEqual (new Location (tf, 9, 4), content[5].StartLocation);
-
- Assert.AreEqual (new Location (tf, 6, 3), content[1].EndLocation);
- Assert.AreEqual (new Location (tf, 7, 22), content[3].EndLocation);
- Assert.AreEqual (new Location (tf, 11, 3), content[5].EndLocation);
- }
-
-
- }
-}