diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
commit | 183851b06bd6c52f3cae5375f433da720d410447 (patch) | |
tree | a477257decbf3360127f6739c2f9d0ec57a03d39 /tests/DatabaseTest.php |
MediaWiki 1.7.1 wiederhergestellt
Diffstat (limited to 'tests/DatabaseTest.php')
-rw-r--r-- | tests/DatabaseTest.php | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/DatabaseTest.php b/tests/DatabaseTest.php new file mode 100644 index 00000000..a721c98d --- /dev/null +++ b/tests/DatabaseTest.php @@ -0,0 +1,93 @@ +<?php + +require_once( 'PHPUnit.php' ); +require_once( '../includes/Defines.php' ); +require_once( '../includes/Database.php' ); +require_once( '../includes/GlobalFunctions.php' ); + +class DatabaseTest extends PHPUnit_TestCase { + var $db; + + function DatabaseTest( $name ) { + $this->PHPUnit_TestCase( $name ); + } + + function setUp() { + $this->db =& new Database(); + } + + function tearDown() { + unset( $this->db ); + } + + function testAddQuotesNull() { + $this->assertEquals( + 'NULL', + $this->db->addQuotes( NULL ) ); + } + + function testAddQuotesInt() { + # returning just "1234" should be ok too, though... + # maybe + $this->assertEquals( + "'1234'", + $this->db->addQuotes( 1234 ) ); + } + + function testAddQuotesFloat() { + # returning just "1234.5678" would be ok too, though + $this->assertEquals( + "'1234.5678'", + $this->db->addQuotes( 1234.5678 ) ); + } + + function testAddQuotesString() { + $this->assertEquals( + "'string'", + $this->db->addQuotes( 'string' ) ); + } + + function testAddQuotesStringQuote() { + $this->assertEquals( + "'string\'s cause trouble'", + $this->db->addQuotes( "string's cause trouble" ) ); + } + + function testFillPreparedEmpty() { + $sql = $this->db->fillPrepared( + 'SELECT * FROM interwiki', array() ); + $this->assertEquals( + "SELECT * FROM interwiki", + $sql); + } + + function testFillPreparedQuestion() { + $sql = $this->db->fillPrepared( + 'SELECT * FROM cur WHERE cur_namespace=? AND cur_title=?', + array( 4, "Snicker's_paradox" ) ); + $this->assertEquals( + "SELECT * FROM cur WHERE cur_namespace='4' AND cur_title='Snicker\'s_paradox'", + $sql); + } + + function testFillPreparedBang() { + $sql = $this->db->fillPrepared( + 'SELECT user_id FROM ! WHERE user_name=?', + array( '"user"', "Slash's Dot" ) ); + $this->assertEquals( + "SELECT user_id FROM \"user\" WHERE user_name='Slash\'s Dot'", + $sql); + } + + function testFillPreparedRaw() { + $sql = $this->db->fillPrepared( + "SELECT * FROM cur WHERE cur_title='This_\\&_that,_WTF\\?\\!'", + array( '"user"', "Slash's Dot" ) ); + $this->assertEquals( + "SELECT * FROM cur WHERE cur_title='This_&_that,_WTF?!'", + $sql); + } + +} + +?>
\ No newline at end of file |