1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
6
using ICSharpCode.NRefactory.VB.Parser;
7
using ICSharpCode.NRefactory.VB.Ast;
10
namespace ICSharpCode.NRefactory.VB.Tests.Ast
13
public class ImportsStatementTests
16
public void InvalidImportsStatement()
18
string program = "Imports\n";
19
ParseUtil.ParseGlobal<ImportsStatement>(program, true);
23
public void InvalidImportsStatement2()
25
string program = "Imports ,\n";
26
ParseUtil.ParseGlobal<ImportsStatement>(program, true);
30
public void SimpleImportsStatement()
32
string program = "Imports System\n";
34
var clause1 = new MemberImportsClause {
35
Member = new SimpleType("System")
38
var node = new ImportsStatement();
39
node.AddChild(clause1, ImportsStatement.ImportsClauseRole);
41
ParseUtil.AssertGlobal(program, node);
45
public void QualifiedTypeImportsStatement()
47
string program = "Imports My.Name.Space\n";
49
var clause2 = new MemberImportsClause {
50
Member = new QualifiedType(new QualifiedType(new SimpleType("My"), new Identifier ("Name", AstLocation.Empty)), new Identifier ("Space", AstLocation.Empty))
53
var node = new ImportsStatement();
54
node.AddChild(clause2, ImportsStatement.ImportsClauseRole);
56
ParseUtil.AssertGlobal(program, node);
60
// public void VBNetUsingAliasDeclarationTest()
62
// string program = "Imports TESTME=System\n" +
63
// "Imports myAlias=My.Name.Space\n" +
64
// "Imports StringCollection = System.Collections.Generic.List(Of string)\n";
65
// VBParser parser = ParserFactory.CreateParser(new StringReader(program));
68
// Assert.AreEqual("", parser.Errors.ErrorOutput);
69
// CheckAliases(parser.CompilationUnit);
73
// public void VBNetComplexUsingAliasDeclarationTest()
75
// string program = "Imports NS1, AL=NS2, NS3, AL2=NS4, NS5\n";
76
// VBParser parser = ParserFactory.CreateParser(new StringReader(program));
79
// Assert.AreEqual("", parser.Errors.ErrorOutput);
80
// // TODO : Extend test ...
84
// public void VBNetXmlNamespaceUsingTest()
86
// string program = "Imports <xmlns=\"http://icsharpcode.net/sharpdevelop/avalonedit\">";
87
// VBParser parser = ParserFactory.CreateParser(new StringReader(program));
90
// Assert.AreEqual("", parser.Errors.ErrorOutput);
91
// CompilationUnit unit = parser.CompilationUnit;
93
// Assert.AreEqual(1, unit.Children.Count);
94
// Assert.IsTrue(unit.Children[0] is ImportsStatement);
95
// ImportsStatement ud = (ImportsStatement)unit.Children[0];
96
// Assert.AreEqual(1, ud.ImportsClauses.Count);
97
// Assert.IsFalse(ud.ImportsClauses[0].IsAlias);
98
// Assert.IsTrue(ud.ImportsClauses[0].IsXml);
100
// Assert.AreEqual("xmlns", ud.ImportsClauses[0].XmlPrefix);
101
// Assert.AreEqual("http://icsharpcode.net/sharpdevelop/avalonedit", ud.ImportsClauses[0].Name);
105
// public void VBNetXmlNamespaceWithPrefixUsingTest()
107
// string program = "Imports <xmlns:avalonedit=\"http://icsharpcode.net/sharpdevelop/avalonedit\">";
108
// VBParser parser = ParserFactory.CreateParser(new StringReader(program));
111
// Assert.AreEqual("", parser.Errors.ErrorOutput);
112
// CompilationUnit unit = parser.CompilationUnit;
114
// Assert.AreEqual(1, unit.Children.Count);
115
// Assert.IsTrue(unit.Children[0] is ImportsStatement);
116
// ImportsStatement ud = (ImportsStatement)unit.Children[0];
117
// Assert.AreEqual(1, ud.ImportsClauses.Count);
118
// Assert.IsFalse(ud.ImportsClauses[0].IsAlias);
119
// Assert.IsTrue(ud.ImportsClauses[0].IsXml);
121
// Assert.AreEqual("xmlns:avalonedit", ud.ImportsClauses[0].XmlPrefix);
122
// Assert.AreEqual("http://icsharpcode.net/sharpdevelop/avalonedit", ud.ImportsClauses[0].Name);
126
// public void VBNetXmlNamespaceSingleQuotedUsingTest()
128
// string program = "Imports <xmlns='http://icsharpcode.net/sharpdevelop/avalonedit'>";
129
// VBParser parser = ParserFactory.CreateParser(new StringReader(program));
132
// Assert.AreEqual("", parser.Errors.ErrorOutput);
133
// CompilationUnit unit = parser.CompilationUnit;
135
// Assert.AreEqual(1, unit.Children.Count);
136
// Assert.IsTrue(unit.Children[0] is ImportsStatement);
137
// ImportsStatement ud = (ImportsStatement)unit.Children[0];
138
// Assert.AreEqual(1, ud.ImportsClauses.Count);
139
// Assert.IsFalse(ud.ImportsClauses[0].IsAlias);
140
// Assert.IsTrue(ud.ImportsClauses[0].IsXml);
142
// Assert.AreEqual("xmlns", ud.ImportsClauses[0].XmlPrefix);
143
// Assert.AreEqual("http://icsharpcode.net/sharpdevelop/avalonedit", ud.ImportsClauses[0].Name);
147
// public void VBNetXmlNamespaceSingleQuotedWithPrefixUsingTest()
149
// string program = "Imports <xmlns:avalonedit='http://icsharpcode.net/sharpdevelop/avalonedit'>";
150
// VBParser parser = ParserFactory.CreateParser(new StringReader(program));
153
// Assert.AreEqual("", parser.Errors.ErrorOutput);
154
// CompilationUnit unit = parser.CompilationUnit;
156
// Assert.AreEqual(1, unit.Children.Count);
157
// Assert.IsTrue(unit.Children[0] is ImportsStatement);
158
// ImportsStatement ud = (ImportsStatement)unit.Children[0];
159
// Assert.AreEqual(1, ud.ImportsClauses.Count);
160
// Assert.IsFalse(ud.ImportsClauses[0].IsAlias);
161
// Assert.IsTrue(ud.ImportsClauses[0].IsXml);
163
// Assert.AreEqual("xmlns:avalonedit", ud.ImportsClauses[0].XmlPrefix);
164
// Assert.AreEqual("http://icsharpcode.net/sharpdevelop/avalonedit", ud.ImportsClauses[0].Name);