diff options
author | Araq <rumpf_a@web.de> | 2011-11-19 15:45:51 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-11-19 15:45:51 +0100 |
commit | a274f3bf5be3fc35f1538e5aab0e32fb9ed2ff82 (patch) | |
tree | 95dc5bf7fe3716a3ab266f78094fccce38c94ccf /tests/run/tevents.nim | |
parent | d0772feb08baaea12bfdad0a7c20a41733f977bd (diff) | |
download | Nim-a274f3bf5be3fc35f1538e5aab0e32fb9ed2ff82.tar.gz |
got rid of 'accept' dir in the tests
Diffstat (limited to 'tests/run/tevents.nim')
-rw-r--r-- | tests/run/tevents.nim | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/run/tevents.nim b/tests/run/tevents.nim new file mode 100644 index 000000000..fb94b1f79 --- /dev/null +++ b/tests/run/tevents.nim @@ -0,0 +1,48 @@ +discard """ +file: "tevents.nim" +output: '''HandlePrintEvent: Output -> Handled print event +HandlePrintEvent2: Output -> printing for ME +HandlePrintEvent2: Output -> printing for ME''' +""" + +import events + +type + TPrintEventArgs = object of TEventArgs + user*: string + +proc handleprintevent*(e: TEventArgs) = + write(stdout, "HandlePrintEvent: Output -> Handled print event\n") + +proc handleprintevent2*(e: TEventArgs) = + var args: TPrintEventArgs = TPrintEventArgs(e) + write(stdout, "HandlePrintEvent2: Output -> printing for " & args.user) + +var ee = initEventEmitter() + +var eventargs: TPrintEventArgs +eventargs.user = "ME\n" + +##method one test + +ee.on("print", handleprintevent) +ee.on("print", handleprintevent2) + +ee.emit("print", eventargs) + +##method two test + +type + TSomeObject = object of TObject + PrintEvent: TEventHandler + +var obj: TSomeObject +obj.PrintEvent = initEventHandler("print") +obj.PrintEvent.addHandler(handleprintevent2) + +ee.emit(obj.PrintEvent, eventargs) + +obj.PrintEvent.removeHandler(handleprintevent2) + +ee.emit(obj.PrintEvent, eventargs) + |