X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Ftests%2Ftest-anon-35.cs;h=4079595e82b982eabb07d94b04ae64fdcd9ef6c6;hb=919a03d17d36604f05e1d99c3f9f26a1509e9655;hp=42b6783c7ef889c4732c9533dd580584b69deb8c;hpb=538d3bb80572334c18ae117ea7703406a4a22872;p=mono.git diff --git a/mcs/tests/test-anon-35.cs b/mcs/tests/test-anon-35.cs index 42b6783c7ef..4079595e82b 100644 --- a/mcs/tests/test-anon-35.cs +++ b/mcs/tests/test-anon-35.cs @@ -1,30 +1,32 @@ -// -// This was a bug which was triggered because I removed a routine -// inadvertently. The routine was restored, and now the scopes -// are initialized -// using System; -using System.Collections; -using System.Reflection; -public class CustomDict { - ArrayList data; - - public CustomDict() { - foreach (object o in this) - Console.WriteLine (o); - } - - public IEnumerator GetEnumerator() { - if (data != null) - yield return 1; - } -} - -public class Tests +public class ExceptionWithAnonMethod { + public delegate void EmptyCallback(); + static string res; + + public static int Main() + { + try { + throw new Exception("e is afraid to enter anonymous land"); + } catch(Exception e) { + AnonHandler(delegate { + Console.WriteLine(e.Message); + res = e.Message; + }); + } + if (res == "e is afraid to enter anonymous land"){ + Console.WriteLine ("Test passed"); + return 0; + } + Console.WriteLine ("Test failed"); + return 1; + } - public static void Main () { - new CustomDict (); + public static void AnonHandler(EmptyCallback handler) + { + if(handler != null) { + handler(); + } } }