setClass('test'); $this->assertEquals(array(), $session->pull()); $this->assertTrue(count(glob(self::$dataFolder.'/*.sqlite')) == 1); } /** * @expectedException Exception */ function testSetClass() { $session = new BotSession('test://testException', self::$dataFolder, self::$legacyFolder); $session->pull(); } function testLegacyImport() { $data = array('test' => true, 'other' => 'yes, sir!'); $data_serialized = serialize($data); $this->assertTrue(mkdir(self::$legacyFolder.'/test')); $filename = self::$legacyFolder.'/test/legacyUser.ggdb'; $this->assertEquals(strlen($data_serialized), file_put_contents($filename, $data_serialized)); $this->assertEquals($data_serialized, file_get_contents($filename)); $session = new BotSession('test://legacyUser@test', self::$dataFolder, self::$legacyFolder); $session->setClass('test'); $this->assertTrue(isset($session->test)); $this->assertEquals($data, $session->pull()); $this->assertFalse(file_exists($filename)); } /** * @depends testPullEmpty */ function testManualExample() { $session = new BotSession('test://user1@test', self::$dataFolder, self::$legacyFolder); $session->setClass('test'); // Ustawienie pojedynczej wartości $session->zmienna = 'To jest test'; $this->assertTrue(isset($session->zmienna)); $this->assertEquals('To jest test', $session->zmienna); // Usunięcie pojedynczej wartości unset($session->zmienna); $this->assertFalse(isset($session->zmienna)); $this->assertEquals(NULL, $session->zmienna); // Ustawienie pojedynczej wartości ponownie $session->zmienna = 'To jest test'; $this->assertTrue(isset($session->zmienna)); $this->assertEquals('To jest test', $session->zmienna); // Usunięcie wszystkich danych $session->truncate(); $this->assertFalse(isset($session->zmienna)); $this->assertEquals(NULL, $session->zmienna); $this->assertEquals(array(), $session->pull()); // Dopisanie (nadpisanie) danych $array = array( 'zmienna' => 'To jest test2', 'zmienna2' => new DateTime('2012-01-10') ); $session->push($array); $this->assertEquals('To jest test2', $session->zmienna); $this->assertEquals($array, $session->pull()); // push() nie usuwa istniejących danych $session->zmienna3 = '333'; $session->push($array); $this->assertNotEquals($array, $session->pull()); unset($this->session); } /** * @depends testManualExample */ function testManualExample2() { $session = new BotSession('test://user1@test', self::$dataFolder, self::$legacyFolder); $session->setClass('test'); $array = array( 'zmienna' => 'To jest test2', 'zmienna2' => new DateTime('2012-01-10'), 'zmienna3' => '333' ); $this->assertEquals($array, $session->pull()); $session->setClass('test2'); $this->assertEquals(array(), $session->pull()); } static function tearDownAfterClass() { foreach(glob(self::$dataFolder.'/*.sqlite') as $file) { unlink($file); } self::rmdir(self::$dataFolder); self::rmdir(self::$legacyFolder); } }