From a274f3bf5be3fc35f1538e5aab0e32fb9ed2ff82 Mon Sep 17 00:00:00 2001 From: Araq Date: Sat, 19 Nov 2011 15:45:51 +0100 Subject: got rid of 'accept' dir in the tests --- tests/run/tevents.nim | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/run/tevents.nim (limited to 'tests/run/tevents.nim') 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) + -- cgit 1.4.1-2-gfad0