[svn] r7545: nemerle/trunk/tools/nemerle-unit: . src
src/macros/macros.n src/tests/expected.n
Luntain
svnadmin at nemerle.org
Thu Mar 22 12:08:21 CET 2007
Log:
new functionality for NemerleUnit: expected exception
test "test name" expected System.Exception {
}
Author: Luntain
Date: Thu Mar 22 12:08:20 2007
New Revision: 7545
Added:
nemerle/trunk/tools/nemerle-unit/src/tests/expected.n
Modified:
nemerle/trunk/tools/nemerle-unit/ (props changed)
nemerle/trunk/tools/nemerle-unit/src/ (props changed)
nemerle/trunk/tools/nemerle-unit/src/macros/macros.n
Modified: nemerle/trunk/tools/nemerle-unit/src/macros/macros.n
==============================================================================
--- nemerle/trunk/tools/nemerle-unit/src/macros/macros.n (original)
+++ nemerle/trunk/tools/nemerle-unit/src/macros/macros.n Thu Mar 22 12:08:20 2007
@@ -19,15 +19,19 @@
- macro test(name, code) syntax ("test", name, code )
+ macro test(name, code, exception = null) syntax ("test", name, Optional("expected", exception), code)
def (sequence,sequence_teardown) = Store.getSetupAndTeardownSequences(Nemerle.Macros.ImplicitCTX().CurrentType.Name)
def test_body = match(code)
| <[{..$expresions}]> =>
List.Flatten( [sequence,expresions,sequence_teardown])
| _ => [<[]>]
+ mutable attrs = [<[Test]>];
+ when (exception != null)
+ attrs ::= <[ExpectedException(typeof($exception))]>;
+ def mods = Modifiers(NemerleAttributes.Public, attrs);
def a_test = <[
- decl: [Test] public $(name.ToString().Replace("\"", "") : dyn)(): void {
+ decl: ..$mods public $(name.ToString().Replace("\"", "") : dyn)(): void {
..$test_body
}
]>;
Added: nemerle/trunk/tools/nemerle-unit/src/tests/expected.n
==============================================================================
--- (empty file)
+++ nemerle/trunk/tools/nemerle-unit/src/tests/expected.n Thu Mar 22 12:08:20 2007
@@ -0,0 +1,7 @@
+using NemerleUnit
+using Nemerle.IO
+
+test "null reference" expected System.NullReferenceException
+ assert true
+ def x : string = null
+ x.ToString()
More information about the svn
mailing list