From 69bfe15ebb27a04504f2f7b49cca9810dfa88fba Mon Sep 17 00:00:00 2001 From: Sergey Tsalkov Date: Thu, 25 Aug 2011 23:54:52 -0700 Subject: [PATCH] add test case regarding BLOBs --- .gitignore | 1 + simpletest/BasicTest.php | 31 ++++++++++++++++++++++++++++--- simpletest/smile1.jpg | Bin 0 -> 48874 bytes simpletest/test.php | 1 + 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 simpletest/smile1.jpg diff --git a/.gitignore b/.gitignore index e69de29..55317fd 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +simpletest/test_setup.php diff --git a/simpletest/BasicTest.php b/simpletest/BasicTest.php index 4ecddd3..3d30f29 100644 --- a/simpletest/BasicTest.php +++ b/simpletest/BasicTest.php @@ -16,9 +16,12 @@ class BasicTest extends SimpleTest { error_reporting(E_ALL); require_once '../db.class.php'; DB::$user = 'meekrodb_test_us'; - DB::$password = 'akdfo59fg'; - DB::$dbName = 'meekrodb_test'; - DB::$host = 'mysql.meekro.com'; + + include 'test_setup.php'; //test config values go here + DB::$password = $set_password; + DB::$dbName = $set_db; + DB::$host = $set_host; + foreach (DB::tableList() as $table) { DB::query("DROP TABLE $table"); @@ -285,6 +288,28 @@ class BasicTest extends SimpleTest { DB::debugMode(false); } + + function test_8_insert_blobs() { + DB::query("CREATE TABLE `storedata` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , + `picture` BLOB + ) ENGINE = InnoDB"); + + + $smile = file_get_contents('smile1.jpg'); + DB::insert('storedata', array( + 'picture' => $smile, + )); + DB::query("INSERT INTO storedata (picture) VALUES (%s)", $smile); + DB::query("INSERT INTO storedata (picture) VALUES (?)", 's', $smile); + + $getsmile = DB::queryFirstField("SELECT picture FROM storedata WHERE id=1"); + $getsmile2 = DB::queryFirstField("SELECT picture FROM storedata WHERE id=2"); + $getsmile3 = DB::queryFirstField("SELECT picture FROM storedata WHERE id=3"); + $this->assert($smile === $getsmile); + $this->assert($smile === $getsmile2); + $this->assert($smile === $getsmile3); + } } diff --git a/simpletest/smile1.jpg b/simpletest/smile1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..672649659577b4feb2bcf85a899c0e8ba62a4816 GIT binary patch literal 48874 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

M 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 literal 0 HcmV?d00001 diff --git a/simpletest/test.php b/simpletest/test.php index 6b9fa2c..bb76abe 100755 --- a/simpletest/test.php +++ b/simpletest/test.php @@ -40,6 +40,7 @@ $classes_to_test = array(); foreach ($files as $fullpath) { $filename = basename($fullpath); if ($fullpath == __FILE__) continue; + if ($filename == 'test_setup.php') continue; require_once($fullpath); $classes_to_test[] = str_replace('.php', '', $filename); }