public void TestGlobalAttrs5() { var parser = new Parser("[assembly: Foo(1, 2)] [module: Bar(\"\", \"\")]"); var sects = parser.ParseGlobalAttrs(); Assert.AreEqual(2, sects.Count); var sect1 = sects[0]; var sect2 = sects[1]; Assert.AreEqual(1, sect1.Attrs.Count); Assert.AreEqual(1, sect2.Attrs.Count); }
public void TestGlobalAttrs4() { var parser = new Parser("[assembly: FooAttribute(1, 2, Name=\"whatever\")]"); var attrs = parser.ParseGlobalAttrs(); Assert.AreEqual(1, attrs.Count); var sect = attrs[0]; Assert.AreEqual(1, sect.Attrs.Count); var fa = sect.Attrs[0]; Assert.AreEqual(3, fa.Args.Count); Assert.IsTrue(fa.Args[0] is PositionalAttrArgument); Assert.IsTrue(fa.Args[1] is PositionalAttrArgument); var na = fa.Args[2] as NamedAttrArgument; Assert.IsNotNull(na); Assert.AreEqual("Name", na.Name.Spelling.Value); }
public void TestGlobalAttrs2() { var parser = new Parser("[module: FooAttribute, Something.Else.BarAttribute]"); var attrs = parser.ParseGlobalAttrs(); Assert.AreEqual(1, attrs.Count); var sect = attrs[0]; var fa = sect.Attrs[0]; var ba = sect.Attrs[1]; Assert.IsTrue(fa.AttrTypeName.PartsAre("FooAttribute")); Assert.IsTrue(ba.AttrTypeName.PartsAre("Something", "Else", "BarAttribute")); }
public void TestGlobalAttrs3() { var parser = new Parser("[assembly: Foo(1, 2, Arg=\"blah\"), Bar(Prop='c')]"); var sections = parser.ParseGlobalAttrs(); Assert.AreEqual(1, sections.Count); var sect = sections[0]; Assert.AreEqual(2, sect.Attrs.Count); var fa = sect.Attrs[0]; var fb = sect.Attrs[1]; Assert.IsTrue(fa.AttrTypeName.PartsAre("Foo")); Assert.IsTrue(fb.AttrTypeName.PartsAre("Bar")); Assert.AreEqual(3, fa.Args.Count); Assert.AreEqual(1, fb.Args.Count); Assert.IsTrue(fa.Args[0] is PositionalAttrArgument); Assert.IsTrue(fa.Args[1] is PositionalAttrArgument); Assert.IsTrue(fa.Args[2] is NamedAttrArgument); var bArg = fb.Args[0] as NamedAttrArgument; Assert.IsNotNull(bArg); Assert.AreEqual("Prop", bArg.Name.Spelling.Value); Assert.IsTrue(bArg.Exp is CharLiteralExp); }
public void TestGlobalAttrs1() { var parser = new Parser("[assembly: CLSCompliant]"); var attrs = parser.ParseGlobalAttrs(); Assert.AreEqual(1, attrs.Count); }