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 */ 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 */ 52 void TAddHandlerTest::AddHandlerTest2() 53 { 54 DEBUGGER_ESCAPE; 55 56 BLooper Looper; 57 BHandler Handler; 58 Looper.Unlock(); 59 Looper.AddHandler(&Handler); 60 } 61 //------------------------------------------------------------------------------ 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