skip modelconfig smd without valid user #2
[tine20] / tests / js_client / SessionTestCase.php
1 <?php
2 /**
3  * Tine 2.0
4  * 
5  * @package     tests
6  * @license     http://www.gnu.org/licenses/agpl.html AGPL3
7  * @copyright   Copyright (c) 2009 Metaways Infosystems GmbH (http://www.metaways.de)
8  * @author      Cornelius Weiss <c.weiss@metaways.de>
9  */
10
11 /**
12  * test case for shared Selenium RC Session
13  *
14  */
15 class SessionTestCase extends PHPUnit_Extensions_SeleniumTestCase
16 {
17     /**
18      * @var bool no autostopping per default
19      */
20     public $autoStop = FALSE;
21     
22     protected static $driver = NULL;
23     
24     /*
25     public function setDriver($driver) {
26         if (! $driver instanceof PHPUnit_Extensions_SeleniumTestCase_Driver) {
27             throw new RuntimeException(
28               'driver must be of instance PHPUnit_Extensions_SeleniumTestCase_Driver.'
29             );
30         }
31         $this->drivers[0] = $driver;
32         $this->drivers[0]->setTestCase($this);
33     }
34     */
35     
36     /**
37      * @param  array $browser
38      * @return PHPUnit_Extensions_SeleniumTestCase_Driver
39      * @since  Method available since Release 3.3.0
40      */
41     protected function getDriver(array $browser)
42     {
43         if (!empty(self::$browsers)) {
44             //...
45         } else {
46             if (self::driverInitialized()) {
47                 $this->drivers[0] = self::$driver;
48                 self::$driver->setTestCase($this);
49                 
50             } else {
51                 self::$driver = parent::getDriver($browser);
52             }
53             
54             return self::$driver;
55         }
56     }
57     
58     public static function destroySession()
59     {
60         if (self::driverInitialized()) {
61             self::$driver->stop();
62             
63             self::$driver = NULL;
64         }
65     }
66     
67     public static function driverInitialized()
68     {
69         return self::$driver instanceof PHPUnit_Extensions_SeleniumTestCase_Driver;
70     }
71 }