summaryrefslogtreecommitdiff
path: root/tests/unit/Caching/TSqliteCacheTest.php
blob: 060fcf86e57892346784ed0d9783e4e65c24ab6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php

use Prado\Caching\TSqliteCache;
use Prado\TApplication;


/**
 * @package System.Caching
 */
class TSqliteCacheTest extends PHPUnit_Framework_TestCase {

	protected static $app = null;
	protected static $cache = null;

	protected function setUp() {
		if(!extension_loaded('sqlite')) {
			self::markTestSkipped('The SQLite extension is not available');
		} else {
			if(self::$app === null) {

				$basePath = dirname(__FILE__).'/mockapp';
				$runtimePath = $basePath.'/runtime';
				if(!is_writable($runtimePath)) {
					self::markTestSkipped("'$runtimePath' is writable");
				}
				self::$app = new TApplication($basePath);
				self::$cache = new TSqliteCache();
				self::$cache->init(null);
			}

		}
	}

	protected function tearDown() {
		/*Prado::setApplication(null);
		self::$cache = null;*/
	}

	public function testInit() {
		throw new PHPUnit_Framework_IncompleteTestError();
	}

	public function testPrimaryCache() {
		self::$cache->PrimaryCache = true;
		self::assertEquals(true, self::$cache->PrimaryCache);
		self::$cache->PrimaryCache = false;
		self::assertEquals(false, self::$cache->PrimaryCache);
	}

	public function testKeyPrefix() {
		self::$cache->KeyPrefix = 'prefix';
		self::assertEquals('prefix', self::$cache->KeyPrefix);
	}

	public function testDbFile() {
		self::assertEquals('sqlite.cache', basename(self::$cache->DbFile));
	}

	public function testSetAndGet() {
		self::$cache->set('key', 'value');
		self::assertEquals('value', self::$cache->get('key'));
	}

	public function testAdd() {
		self::$cache->add('key', 'value');
		self::assertEquals('value', self::$cache->get('key'));
	}

	public function testDelete() {
		self::$cache->delete('key');
		self::assertEquals(false, self::$cache->get('key'));
	}

	public function testFlush() {
		$this->testAdd();
		self::assertEquals(true, self::$cache->flush());
	}

}