|
| 1 | +<?php |
| 2 | + |
| 3 | +declare(strict_types=1); |
| 4 | + |
| 5 | +use Tester\Assert; |
| 6 | + |
| 7 | +require __DIR__ . '/bootstrap.php'; |
| 8 | + |
| 9 | + |
| 10 | +$conn = new Dibi\Connection($config); |
| 11 | + |
| 12 | +// starts with |
| 13 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', 'a', 'b')); |
| 14 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', 'baa', 'aa')); |
| 15 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', 'aab', 'aa')); |
| 16 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', 'bba', '%a')); |
| 17 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', '%ba', '%a')); |
| 18 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', '%ab', '%a')); |
| 19 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', 'aa', '_a')); |
| 20 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', '_b', '_a')); |
| 21 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', '_ab', '_a')); |
| 22 | + |
| 23 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', 'a"a', 'a"')); |
| 24 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', 'b"', '%"')); |
| 25 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', '%"', '%"')); |
| 26 | + |
| 27 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', "a'a", "a'")); |
| 28 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', "b'", "%'")); |
| 29 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', "%'", "%'")); |
| 30 | + |
| 31 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', 'a\\a', 'a\\')); |
| 32 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', 'b\\', '%\\')); |
| 33 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', '%\\', '%\\')); |
| 34 | + |
| 35 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', 'a[a', 'a[')); |
| 36 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %like~', 'b[', '%[')); |
| 37 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %like~', '%[', '%[')); |
| 38 | + |
| 39 | + |
| 40 | +// ends with |
| 41 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', 'a', 'b')); |
| 42 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', 'baa', 'aa')); |
| 43 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', 'aab', 'aa')); |
| 44 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', 'bba', '%a')); |
| 45 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', 'a%b', '%a')); |
| 46 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', 'b%a', '%a')); |
| 47 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', 'aa', '_a')); |
| 48 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', '_b', '_a')); |
| 49 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', 'b_a', '_a')); |
| 50 | + |
| 51 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', 'a"a', '"a')); |
| 52 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', '"b', '"%')); |
| 53 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', '"%', '"%')); |
| 54 | + |
| 55 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', "a'a", "'a")); |
| 56 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', "'b", "'%")); |
| 57 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', "'%", "'%")); |
| 58 | + |
| 59 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', 'a\\a', '\\a')); |
| 60 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like', '\\b', '\\%')); |
| 61 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like', '\\%', '\\%')); |
| 62 | + |
| 63 | + |
| 64 | +// contains |
| 65 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like~', 'a', 'b')); |
| 66 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like~', 'baa', 'aa')); |
| 67 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like~', 'aab', 'aa')); |
| 68 | +Assert::same(0, $conn->fetchSingle('SELECT ? LIKE %~like~', 'bba', '%a')); |
| 69 | +Assert::same(1, $conn->fetchSingle('SELECT ? LIKE %~like~', 'b%a', '%a')); |
0 commit comments