]> source.dussan.org Git - nextcloud-server.git/commitdiff
add test case for ILIKE with wildcard
authorRobin Appelman <icewind@owncloud.com>
Tue, 16 Sep 2014 19:03:03 +0000 (21:03 +0200)
committerRobin Appelman <icewind@owncloud.com>
Tue, 16 Sep 2014 19:03:03 +0000 (21:03 +0200)
tests/lib/db.php

index 22792930f0a3a1ed80d45e281e04b865fa488c6f..d4270737d869a655fc127331b60cc8dd2df26109 100644 (file)
@@ -283,4 +283,35 @@ class Test_DB extends PHPUnit_Framework_TestCase {
                $result = $query->execute(array('foobar'));
                $this->assertCount(1, $result->fetchAll());
        }
+
+       public function testILIKEWildcard() {
+               $table = "*PREFIX*{$this->table2}";
+
+               $query = OC_DB::prepare("INSERT INTO `$table` (`fullname`, `uri`, `carddata`) VALUES (?, ?, ?)");
+               $query->execute(array('FooBAR', 'foo', 'bar'));
+
+               $query = OC_DB::prepare("SELECT * FROM `$table` WHERE `fullname` LIKE ?");
+               $result = $query->execute(array('%bar'));
+               $this->assertCount(0, $result->fetchAll());
+
+               $query = OC_DB::prepare("SELECT * FROM `$table` WHERE `fullname` LIKE ?");
+               $result = $query->execute(array('foo%'));
+               $this->assertCount(0, $result->fetchAll());
+
+               $query = OC_DB::prepare("SELECT * FROM `$table` WHERE `fullname` LIKE ?");
+               $result = $query->execute(array('%ba%'));
+               $this->assertCount(0, $result->fetchAll());
+
+               $query = OC_DB::prepare("SELECT * FROM `$table` WHERE `fullname` ILIKE ?");
+               $result = $query->execute(array('%bar'));
+               $this->assertCount(1, $result->fetchAll());
+
+               $query = OC_DB::prepare("SELECT * FROM `$table` WHERE `fullname` ILIKE ?");
+               $result = $query->execute(array('foo%'));
+               $this->assertCount(1, $result->fetchAll());
+
+               $query = OC_DB::prepare("SELECT * FROM `$table` WHERE `fullname` ILIKE ?");
+               $result = $query->execute(array('%ba%'));
+               $this->assertCount(1, $result->fetchAll());
+       }
 }