3 require_once 'PHPUnit/Framework.php';
7 * Application Test Suite
10 * @copyright Copyright ©2002 - [#]year[#], Blue Static
15 class AppTest
extends PHPUnit_Framework_TestCase
17 public function setUp()
19 require_once 'ISSO/App.php';
22 public function testLoadModule()
24 $this->assertTrue(BSApp
::LoadModule('Input') instanceof BSInput
);
27 public function testLoadBadModule()
31 BSApp
::LoadModule('nonExistentModule');
32 $this->fail('exception expected');
38 public function testSetGetAppPath()
40 BSApp
::SetAppPath(getcwd());
41 $this->assertEquals(getcwd() . DIRECTORY_SEPARATOR
, BSApp
::GetAppPath());
44 public function testSetGetAppVersion()
46 BSApp
::SetAppVersion('1.0-test');
47 $this->assertEquals('1.0-test', BSApp
::GetAppVersion());
50 public function testSetGetApplication()
52 BSApp
::SetApplication('ISSO Tests');
53 $this->assertEquals('ISSO Tests', BSApp
::GetApplication());
56 public function testSetGetWebPath()
58 $path = DIRECTORY_SEPARATOR
. 'Server' . DIRECTORY_SEPARATOR
. 'htdocs' . DIRECTORY_SEPARATOR
. 'ISSO';
59 BSApp
::SetWebPath($path);
60 $this->assertEquals($path . DIRECTORY_SEPARATOR
, BSApp
::GetWebPath());
63 public function testSetGetDebug()
65 BSApp
::SetDebug(true
);
66 $this->assertSame(true
, BSApp
::GetDebug());
69 public function testDebugList()
71 $this->assertEquals('<select><option>Debug Notices (0)</option></select>', BSApp
::GetDebugList());
74 $this->assertEquals('<select><option>Debug Notices (1)</option><option>--- dbg</option></select>', BSApp
::GetDebugList());
77 public function testRegisterValue()
79 BSApp
::Registry()->someKey
= 'someValue';
81 $registry = BSApp
::Registry();
82 $this->assertEquals($registry->someKey
, 'someValue');
85 public function testGetAll()
87 BSApp
::Registry()->test
= 1;
88 $this->assertType('array', BSApp
::Registry()->allObjects());
89 $this->assertSame(sizeof(BSApp
::Registry()->allObjects()), 2);
92 public function testOverWriteRegister()
94 BSApp
::Registry()->valueToOverWrite
= 1;
95 BSApp
::Registry()->valueToOverWrite
= 2;
96 $this->assertEquals(2, BSApp
::Registry()->valueToOverWrite
);
99 public function testGet()
101 BSApp
::Registry()->testGet
= 123;
102 $this->assertEquals(123, BSApp
::Registry()->testGet
);
105 public function testUnregister()
107 BSApp
::Registry()->testUnregister
= 1;
108 unset(BSApp
::Registry()->testUnregister
);
109 $this->assertObjectNotHasAttribute('testUnregister', BSApp
::Registry());
112 public function testGetNoExist()
116 BSApp
::Registry()->doesNotExist
;
117 $this->fail('exception expected');
123 public function testUnregisterNoExist()
127 unset(BSApp
::Registry()->keyThatWontExist
);
128 $this->fail('exception expected');
134 public function testGetType()
136 $input = BSApp
::LoadModule('Input');
137 BSApp
::Registry()->input
= $input;
138 $this->assertSame($input, BSApp
::Registry()->getType('Input'));
140 $this->assertEquals(null
, BSApp
::Registry()->getType('Date'));
143 public function testRequiredModules()
147 BSApp
::RequiredModules(array('Input'));
151 $this->fail('unexpcted exception');
156 BSApp
::RequiredModules(array('Input', 'Db'));
157 $this->fail('exception expected');
164 BSApp
::RequiredModules(array('Date'));
165 $this->fail('exception expected');