1//------------------------------------------------------------------------------ 2// UnlockLooperTest.cpp 3// 4//------------------------------------------------------------------------------ 5 6// Standard Includes ----------------------------------------------------------- 7 8// System Includes ------------------------------------------------------------- 9#include <Looper.h> 10 11// Project Includes ------------------------------------------------------------ 12 13// Local Includes -------------------------------------------------------------- 14#include "UnlockLooperTest.h" 15 16// Local Defines --------------------------------------------------------------- 17 18// Globals --------------------------------------------------------------------- 19 20//------------------------------------------------------------------------------ 21/** 22 UnlockLooper() 23 @case handler has no looper 24 @results NONE 25 @note Original implementation apparently doesn't check to see if a 26 looper actually exists before trying to call Unlock() on it. 27 Disabled for TEST_R5. 28 */ 29void TUnlockLooperTest::UnlockLooper1() 30{ 31#if !defined(TEST_R5) 32 DEBUGGER_ESCAPE; 33 34 BHandler Handler; 35 Handler.UnlockLooper(); 36#endif 37} 38//------------------------------------------------------------------------------ 39/** 40 UnlockLooper() 41 @case handler has a looper which is initially unlocked 42 @results debug message "looper must be locked before proceeding" from 43 BLooper::AssertLock() 44 */ 45void TUnlockLooperTest::UnlockLooper2() 46{ 47 DEBUGGER_ESCAPE; 48 49 BLooper Looper; 50 BHandler Handler; 51 Looper.AddHandler(&Handler); 52 if (Looper.IsLocked()) 53 { 54 // Make sure the looper is unlocked 55 Looper.Unlock(); 56 } 57 Handler.UnlockLooper(); 58} 59//------------------------------------------------------------------------------ 60/** 61 UnlockLooper() 62 @case handler has a looper which is initially locked 63 @results NONE 64 */ 65void TUnlockLooperTest::UnlockLooper3() 66{ 67 BLooper Looper; 68 BHandler Handler; 69 Looper.AddHandler(&Handler); 70 if (!Looper.IsLocked()) 71 { 72 Looper.Lock(); 73 } 74 Handler.UnlockLooper(); 75} 76//------------------------------------------------------------------------------ 77Test* TUnlockLooperTest::Suite() 78{ 79 TestSuite* SuiteOfTests = new TestSuite("BHandler::UnlockLooper"); 80 81 ADD_TEST4(BHandler, SuiteOfTests, TUnlockLooperTest, UnlockLooper1); 82 ADD_TEST4(BHandler, SuiteOfTests, TUnlockLooperTest, UnlockLooper2); 83 ADD_TEST4(BHandler, SuiteOfTests, TUnlockLooperTest, UnlockLooper3); 84 85 return SuiteOfTests; 86} 87//------------------------------------------------------------------------------ 88 89/* 90 * $Log $ 91 * 92 * $Id $ 93 * 94 */ 95 96 97