1 //------------------------------------------------------------------------------
2 // AddHandlerTest.cpp
3 //
4 //------------------------------------------------------------------------------
5 /**
6 @note Most of AddHandler()'s functionality is indirectly exercised
7 by the tests for RemoveHandler(), CountHandler(), HandlerAt() and
8 IndexOf(). If AddHandler() isn't working correctly, it will show up
9 there. I do wonder if I should replicate those tests here anyway so
10 that any problem specifically show up in this test suite.
11 */
12
13 // Standard Includes -----------------------------------------------------------
14
15 // System Includes -------------------------------------------------------------
16 #include <Looper.h>
17
18 // Project Includes ------------------------------------------------------------
19
20 // Local Includes --------------------------------------------------------------
21 #include "AddHandlerTest.h"
22
23 // Local Defines ---------------------------------------------------------------
24
25 // Globals ---------------------------------------------------------------------
26
27 //------------------------------------------------------------------------------
28 /**
29 AddHandler(BHandler*)
30 @case handler is NULL
31 @param handler
32 @results Nothing (bad) should happen when AddHandler() is called, and
33 CountHandlers() should return 1 (for the looper itself). R5
34 can't handle this test; it has a segment violation.
35 */
AddHandlerTest1()36 void TAddHandlerTest::AddHandlerTest1()
37 {
38 BLooper Looper;
39 #ifndef TEST_R5
40 Looper.AddHandler(NULL);
41 #endif
42 CPPUNIT_ASSERT(Looper.CountHandlers() == 1);
43 }
44 //------------------------------------------------------------------------------
45 /**
46 AddHandler(BHandler*)
47 @case looper is unlocked
48 @param handler
49 @results Goes to debugger with message "Looper must be locked before
50 calling AddHandler."
51 */
AddHandlerTest2()52 void TAddHandlerTest::AddHandlerTest2()
53 {
54 DEBUGGER_ESCAPE;
55
56 BLooper Looper;
57 BHandler Handler;
58 Looper.Unlock();
59 Looper.AddHandler(&Handler);
60 }
61 //------------------------------------------------------------------------------
Suite()62 TestSuite* TAddHandlerTest::Suite()
63 {
64 TestSuite* suite = new TestSuite("BLooper::AddHandler(BHandler*)");
65
66 ADD_TEST4(BLooper, suite, TAddHandlerTest, AddHandlerTest1);
67 ADD_TEST4(BLooper, suite, TAddHandlerTest, AddHandlerTest2);
68
69 return suite;
70 }
71 //------------------------------------------------------------------------------
72
73 /*
74 * $Log $
75 *
76 * $Id $
77 *
78 */
79
80
81