premiere version fonctionnelle
[bazdig.git] / test / SqlCodeTest.php
blobfeca946e48d8a30a16ddeac9af4df07ab3460687
1 <?php
3 require_once('simpletest/unit_tester.php');
4 require_once('simpletest/reporter.php');
6 class SqlCodeTest extends UnitTestCase {
8 function setUp()
10 require_once '../lib/code.php';
11 $this->query = 'select * from test';
12 $this->md5 = md5($this->query);
13 $this->sqlCode = new SqlCode($this->query);
14 $this->db =& new PDO("sqlite:bazdig-test.db");
15 SqlCode::set_db($this->db);
16 $this->sqlCode2 = new SqlCode("select * from test");
17 $this->sqlCode2->id = 'test:001';
18 $this->sqlCode2->date = '2008-01-25';
19 $this->markkitDB =& new PDO("sqlite2:markkit-test.db");
22 function tearDown()
24 $tableName = SqlCode::get_table_name();
25 $id = $this->sqlCode->id;
26 $this->db->exec("delete from $tableName where id='$id'");
29 function test_search()
31 $result = SqlCode::search("test");
32 $expected = 2;
33 $this->assertEqual($expected, count($result));
34 $expected = $this->sqlCode2;
35 $this->assertTrue($expected == $result[0] || $expected == $result[1]);
36 $result = SqlCode::search("test", "limit 1");
37 $expected = 1;
38 $this->assertEqual($expected, count($result));
39 $result = SqlCode::search("test", "where id='test:005'");
40 $expected = 1;
41 $this->assertEqual($expected, count($result));
44 function test_exec()
46 $markkitQuery1 = new SqlCode("select * from marks where id='testid'");
47 $result = $markkitQuery1->exec($this->markkitDB);
48 $expected = 'testuser';
49 $this->assertEqual($expected, $result[0]['owner']);
50 $markkitQuery2 = new SqlCode("select * from marks where id='testid4'");
51 $result = $markkitQuery2->exec($this->markkitDB);
52 $expected = 'http://localhost/test/x';
53 $this->assertEqual($expected, $result[0]['pageUrl']);
56 function test_toSQLinsert()
58 $result = $this->sqlCode->toSQLinsert();
59 $expected = "/insert/i";
60 $this->assertWantedPattern($expected, $result);
61 $expected = "/'md5:".$this->md5."'/";
62 $this->assertWantedPattern($expected, $result);
65 function test_toSQLselect()
67 $result = $this->sqlCode->toSQLselect();
68 $expected = "/select/i";
69 $this->assertWantedPattern($expected, $result);
70 $expected = "/id='md5:".$this->md5."'/";
71 $this->assertWantedPattern($expected, $result);
74 function test_sql_select()
76 $options = " where code like 'select %'";
77 $result = SqlCode::sql_select($options);
78 $expected = "/$options/i";
79 $this->assertWantedPattern($expected, $result);
80 $expected = "/select.+id.+from/i";
81 $this->assertWantedPattern($expected, $result);
82 $expected = "/select.+code.+from/i";
83 $this->assertWantedPattern($expected, $result);
84 $expected = "/select.+date.+from/i";
85 $this->assertWantedPattern($expected, $result);
88 function test_select()
90 $result = SqlCode::select(" where id='test:001'");
91 $expected = array($this->sqlCode2);
92 $this->assertEqual($expected, $result);
95 function test_save()
97 $this->sqlCode->save();
98 $md5 = $this->sqlCode->id;
99 $result = $this->db->query("select code from sql where id='$md5'");
100 $result = $result->fetch();
101 $expected = "select * from test";
102 $this->assertEqual($expected, $result['code']);
103 $this->sqlCode->save();
104 $result = $this->db->query("select * from sql where id='$md5'");
105 $result = $result->fetchAll();
106 $expected = 1;
107 $this->assertEqual($expected, count($result));
111 // Running the test.
112 $test =& new SqlCodeTest;
113 $test->run(new HtmlReporter());