From 12f37461f5736810f8a5577c2b7ecb92483660d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Srbeck=C3=BD?= Date: Tue, 1 Jan 2008 15:05:22 +0000 Subject: [PATCH] Added 'Expressions' test git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2771 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/DebuggerTests.cs | 16 + .../Project/Src/TestPrograms/Expressions.cs | 50 ++ .../Project/Src/TestPrograms/Expressions.xml | 490 ++++++++++++++++++ 3 files changed, 556 insertions(+) create mode 100644 src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs create mode 100644 src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.xml diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs index 79327a8919..80e01cb6e4 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs @@ -425,5 +425,21 @@ namespace Debugger.Tests process.WaitForExit(); CheckXmlOutput(); } + + [Test] + public void Expressions() + { + StartTest("Expressions"); + WaitForPause(); + + ObjectDump("Variables", process.SelectedFunction.Variables); + ObjectDump("array", process.SelectedFunction.Variables["array"].GetArrayElements()); + ObjectDump("array2", process.SelectedFunction.Variables["array2"].GetArrayElements()); + ObjectDump("this", process.SelectedFunction.ThisValue.GetMembers()); + + process.Continue(); + process.WaitForExit(); + CheckXmlOutput(); + } } } diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs new file mode 100644 index 0000000000..24fd92d76d --- /dev/null +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs @@ -0,0 +1,50 @@ +// +// +// +// +// $Revision: 2279 $ +// + +using System; + +namespace Debugger.Tests.TestPrograms +{ + public class BaseClass + { + string name = "base name"; + + public string Name { + get { return name; } + } + + public string Value = "base value"; + } + + public class TestClass: BaseClass + { + string name = "derived name"; + + new public string Name { + get { return name; } + } + + new public string Value = "derived value"; + + string field = "field value"; + string[] array = {"one", "two", "three"}; + + public static void Main() + { + new TestClass().Test("argValue"); + } + + public void Test(string arg) + { + int i = 0; + string[] array = {"one", "two", "three"}; + string[,] array2 = {{"A","B"},{"C","D"}}; + + System.Diagnostics.Debugger.Break(); + } + } +} diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.xml b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.xml new file mode 100644 index 0000000000..67c83f0cf3 --- /dev/null +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.xml @@ -0,0 +1,490 @@ + + + + + mscorlib.dll + Expressions.exe + Break + + + 13 + + + False + + + + True + False + False + + this + False + {Debugger.Tests.TestPrograms.TestClass} + this + False + Debugger.Tests.TestPrograms.TestClass + + + False + + + + False + True + False + argValue + arg + False + argValue + arg + False + System.String + + + False + + + + False + True + True + 0 + i + False + 0 + i + False + System.Int32 + + + True + 3 + 1 + System.UInt32[] + False + False + False + + array + False + {System.String[]} + array + False + System.String[] + + + True + 4 + 2 + System.UInt32[] + False + False + False + + array2 + False + {System.String[,]} + array2 + False + System.String[,] + + + False + + + + False + True + False + derived name + name + False + derived name + this.name + False + System.String + + + False + + + + False + True + False + derived value + Value + False + derived value + this.Value + False + System.String + + + False + + + + False + True + False + field value + field + False + field value + this.field + False + System.String + + + True + 3 + 1 + System.UInt32[] + False + False + False + + array + False + {System.String[]} + this.array + False + System.String[] + + + False + + + + False + True + False + derived name + Name + False + derived name + this.Name + False + System.String + + + False + + + + False + True + False + base name + name + False + base name + this.name + False + System.String + + + False + + + + False + True + False + base value + Value + False + base value + this.Value + False + System.String + + + False + + + + False + True + False + base name + Name + False + base name + this.Name + False + System.String + + + + + EvalComplete + EvalComplete + + + 3 + + + False + + + + False + True + False + one + [0] + False + one + array[0] + False + System.String + + + False + + + + False + True + False + two + [1] + False + two + array[1] + False + System.String + + + False + + + + False + True + False + three + [2] + False + three + array[2] + False + System.String + + + + + + + 4 + + + False + + + + False + True + False + A + [0,0] + False + A + array2[0, 0] + False + System.String + + + False + + + + False + True + False + B + [0,1] + False + B + array2[0, 1] + False + System.String + + + False + + + + False + True + False + C + [1,0] + False + C + array2[1, 0] + False + System.String + + + False + + + + False + True + False + D + [1,1] + False + D + array2[1, 1] + False + System.String + + + + + + + 8 + + + False + + + + False + True + False + derived name + name + False + derived name + this.name + False + System.String + + + False + + + + False + True + False + derived value + Value + False + derived value + this.Value + False + System.String + + + False + + + + False + True + False + field value + field + False + field value + this.field + False + System.String + + + True + 3 + 1 + System.UInt32[] + False + False + False + + array + False + {System.String[]} + this.array + False + System.String[] + + + False + + + + False + True + False + derived name + Name + False + derived name + this.Name + False + System.String + + + False + + + + False + True + False + base name + name + False + base name + this.name + False + System.String + + + False + + + + False + True + False + base value + Value + False + base value + this.Value + False + System.String + + + False + + + + False + True + False + base name + Name + False + base name + this.Name + False + System.String + + + + + EvalComplete + EvalComplete + + + \ No newline at end of file