diff --git a/src/tests/kits/app/bmessenger/BMessengerCases b/src/tests/kits/app/bmessenger/BMessengerCases index c74e07f07c..37598c91e3 100644 --- a/src/tests/kits/app/bmessenger/BMessengerCases +++ b/src/tests/kits/app/bmessenger/BMessengerCases @@ -59,3 +59,16 @@ case 2: from is properly initialized to a local target => BMessenger(const char *signature, team_id team, status_t *result) TODO +bool IsTargetLocal() const +case 1: this is uninitialized => + should return false. +case 2: this is initialized to local target with preferred handler => + should return true. +case 3: this is initialized to local target with specific handler => + should return true. +case 4: this is initialized to local target with preferred handler => + should return false. +case 5: this is initialized to remote target with specific handler => + should return false. + + diff --git a/src/tests/kits/app/bmessenger/TargetTester.cpp b/src/tests/kits/app/bmessenger/TargetTester.cpp index 03e4b9402c..698b338935 100644 --- a/src/tests/kits/app/bmessenger/TargetTester.cpp +++ b/src/tests/kits/app/bmessenger/TargetTester.cpp @@ -29,9 +29,71 @@ //------------------------------------------------------------------------------ /* + bool IsTargetLocal() const + @case 1 this is uninitialized + @results should return false. */ -void TargetTester::Test1() +void TargetTester::IsTargetLocalTest1() { + BMessenger messenger; + CHK(messenger.IsTargetLocal() == false); +} + +/* + bool IsTargetLocal() const + @case 2 this is initialized to local target with preferred handler + @results should return true. + */ +void TargetTester::IsTargetLocalTest2() +{ + status_t result = B_OK; + BLooper *looper = new BLooper; + looper->Run(); + LooperQuitter quitter(looper); + BMessenger messenger(NULL, looper, &result); + CHK(messenger.IsTargetLocal() == true); +} + +/* + bool IsTargetLocal() const + @case 3 this is initialized to local target with specific handler + @results should return true. + */ +void TargetTester::IsTargetLocalTest3() +{ + // create looper and handler + status_t result = B_OK; + BLooper *looper = new BLooper; + looper->Run(); + LooperQuitter quitter(looper); + BHandler *handler = new BHandler; + HandlerDeleter deleter(handler); + CHK(looper->Lock()); + looper->AddHandler(handler); + looper->Unlock(); + // create the messenger and do the checks + BMessenger messenger(handler, NULL, &result); + CHK(messenger.IsTargetLocal() == true); +} + +/* + bool IsTargetLocal() const + @case 4 this is initialized to remote target with preferred handler + @results should return false. + */ +void TargetTester::IsTargetLocalTest4() +{ + // TODO: Implement. +} + +/* + bool IsTargetLocal() const + @case 5 this is initialized to remote target with specific handler + @results should return false. + */ +void TargetTester::IsTargetLocalTest5() +{ + // TODO: Implement. } @@ -39,7 +101,11 @@ Test* TargetTester::Suite() { TestSuite* SuiteOfTests = new TestSuite; - ADD_TEST(SuiteOfTests, TargetTester, Test1); + ADD_TEST(SuiteOfTests, TargetTester, IsTargetLocalTest1); + ADD_TEST(SuiteOfTests, TargetTester, IsTargetLocalTest2); + ADD_TEST(SuiteOfTests, TargetTester, IsTargetLocalTest3); + ADD_TEST(SuiteOfTests, TargetTester, IsTargetLocalTest4); + ADD_TEST(SuiteOfTests, TargetTester, IsTargetLocalTest5); return SuiteOfTests; } diff --git a/src/tests/kits/app/bmessenger/TargetTester.h b/src/tests/kits/app/bmessenger/TargetTester.h index fb2573ebb8..37dc6466ab 100644 --- a/src/tests/kits/app/bmessenger/TargetTester.h +++ b/src/tests/kits/app/bmessenger/TargetTester.h @@ -25,7 +25,11 @@ class TargetTester : public TestCase TargetTester() {;} TargetTester(std::string name) : TestCase(name) {;} - void Test1(); + void IsTargetLocalTest1(); + void IsTargetLocalTest2(); + void IsTargetLocalTest3(); + void IsTargetLocalTest4(); + void IsTargetLocalTest5(); static Test* Suite(); };