Author: rolf
Date: 2007-05-17 10:59:01 -0400 (Thu, 17 May 2007)
New Revision: 77567

Modified:
   trunk/mcs/class/System/Test/Microsoft.VisualBasic/ChangeLog
   
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromExpressionTest.cs
   
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromStatementTest.cs
Log:
2007-05-17  Rolf Bjarne Kvinge  <[EMAIL PROTECTED]>

        * CodeGeneratorFromExpressionTest.cs: Added EscapedIdentifierTest.
        * CodeGeneratorFromStatementTest.cs: Added 
CodeAttachEventStatementKeywordTest.



Modified: trunk/mcs/class/System/Test/Microsoft.VisualBasic/ChangeLog
===================================================================
--- trunk/mcs/class/System/Test/Microsoft.VisualBasic/ChangeLog 2007-05-17 
14:57:47 UTC (rev 77566)
+++ trunk/mcs/class/System/Test/Microsoft.VisualBasic/ChangeLog 2007-05-17 
14:59:01 UTC (rev 77567)
@@ -1,3 +1,8 @@
+2007-05-17  Rolf Bjarne Kvinge  <[EMAIL PROTECTED]>
+
+       * CodeGeneratorFromExpressionTest.cs: Added EscapedIdentifierTest.
+       * CodeGeneratorFromStatementTest.cs: Added 
CodeAttachEventStatementKeywordTest.
+
 2007-05-08  Rolf Bjarne Kvinge  <[EMAIL PROTECTED]>
 
        * CodeGeneratorFromExpressionTest.cs: Added ArrayCreateExpressionTest.

Modified: 
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromExpressionTest.cs
===================================================================
--- 
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromExpressionTest.cs
        2007-05-17 14:57:47 UTC (rev 77566)
+++ 
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromExpressionTest.cs
        2007-05-17 14:59:01 UTC (rev 77567)
@@ -396,5 +396,54 @@
                                sw.Close ();
                        }
                }
+               
+               [Test]
+               public void EscapedIdentifierTest ()
+               {
+                       StringBuilder sb;
+                       string code;
+                       
+                       sb = new StringBuilder ();
+                       using (StringWriter sw = new StringWriter (sb)) {
+                               code = Generate (new 
CodeVariableReferenceExpression ("set"), sw); 
+                               Assert.AreEqual ("[set]", code, "#01");
+                               sw.Close ();
+                       }
+                       
+                       sb = new StringBuilder ();
+                       using (StringWriter sw = new StringWriter (sb)) {
+                               code = Generate (new 
CodeTypeReferenceExpression ("set"), sw); 
+                               Assert.AreEqual ("[set]", code, "#02");
+                               sw.Close ();
+                       }
+                       
+                       sb = new StringBuilder ();
+                       using (StringWriter sw = new StringWriter (sb)) {
+                               code = Generate (new 
CodePropertyReferenceExpression (null, "set"), sw); 
+                               Assert.AreEqual ("[set]", code, "#03");
+                               sw.Close ();
+                       }
+                       
+                       sb = new StringBuilder ();
+                       using (StringWriter sw = new StringWriter (sb)) {
+                               code = Generate (new 
CodeMethodReferenceExpression (null, "set"), sw); 
+                               Assert.AreEqual ("[set]", code, "#04");
+                               sw.Close ();
+                       }
+                       
+                       sb = new StringBuilder ();
+                       using (StringWriter sw = new StringWriter (sb)) {
+                               code = Generate (new 
CodeFieldReferenceExpression (null, "set"), sw); 
+                               Assert.AreEqual ("[set]", code, "#05");
+                               sw.Close ();
+                       }
+                       
+                       sb = new StringBuilder ();
+                       using (StringWriter sw = new StringWriter (sb)) {
+                               code = Generate (new 
CodeEventReferenceExpression (null, "set"), sw); 
+                               Assert.AreEqual ("setEvent", code, "#06");
+                               sw.Close ();
+                       }
+               }
        }
 }

Modified: 
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromStatementTest.cs
===================================================================
--- 
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromStatementTest.cs
 2007-05-17 14:57:47 UTC (rev 77566)
+++ 
trunk/mcs/class/System/Test/Microsoft.VisualBasic/CodeGeneratorFromStatementTest.cs
 2007-05-17 14:59:01 UTC (rev 77567)
@@ -132,7 +132,48 @@
                        Assert.AreEqual (string.Format 
(CultureInfo.InvariantCulture,
                                "AddHandler ., {0}", NewLine), Generate (), 
"#6");
                }
+               
+               [Test]
+               public void CodeAttachEventStatementKeywordTest ()
+               {
+                       CodeEventReferenceExpression cere = new 
CodeEventReferenceExpression (
+                               new CodeSnippetExpression ("Set"), "Event");
+                       CodeSnippetExpression handler = new 
CodeSnippetExpression ("Handles");
 
+                       CodeAttachEventStatement attachEventStatement = new 
CodeAttachEventStatement ();
+                       statement = attachEventStatement;
+
+                       try {
+                               Generate ();
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException) {
+                       }
+
+                       attachEventStatement.Event = cere;
+                       try {
+                               Generate ();
+                               Assert.Fail ("#2");
+                       } catch (ArgumentNullException) {
+                       }
+
+                       attachEventStatement.Event = null;
+                       attachEventStatement.Listener = handler;
+                       Assert.AreEqual (string.Format 
(CultureInfo.InvariantCulture,
+                               "AddHandler , Handles{0}", NewLine), Generate 
(), "#3");
+
+                       attachEventStatement.Event = cere;
+                       Assert.AreEqual (string.Format 
(CultureInfo.InvariantCulture,
+                               "AddHandler Set.[Event], Handles{0}", NewLine), 
Generate (), "#4");
+
+                       attachEventStatement.Event = new 
CodeEventReferenceExpression (
+                               new CodeSnippetExpression ((string) null), "");
+                       Assert.AreEqual (string.Format 
(CultureInfo.InvariantCulture,
+                               "AddHandler ., Handles{0}", NewLine), Generate 
(), "#5");
+
+                       attachEventStatement.Listener = new 
CodeSnippetExpression ("");
+                       Assert.AreEqual (string.Format 
(CultureInfo.InvariantCulture,
+                               "AddHandler ., {0}", NewLine), Generate (), 
"#6");
+               }
                [Test]
                public void CodeCommentStatementTest ()
                {

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to