| @@ 53-75 (lines=23) @@ | ||
| 50 | $this->assertEquals(600000, $result[1][1]); |
|
| 51 | } |
|
| 52 | ||
| 53 | public function testOrderByResultVariableCollectionSize() |
|
| 54 | { |
|
| 55 | $dql = 'SELECT p.name, size(p.friends) AS friends ' . |
|
| 56 | 'FROM Doctrine\Tests\Models\Company\CompanyPerson p ' . |
|
| 57 | 'WHERE p.friends IS NOT EMPTY ' . |
|
| 58 | 'ORDER BY friends DESC, p.name DESC'; |
|
| 59 | ||
| 60 | $result = $this->_em->createQuery($dql)->getScalarResult(); |
|
| 61 | ||
| 62 | $this->assertEquals(4, count($result)); |
|
| 63 | ||
| 64 | $this->assertEquals("Jonathan W.", $result[0]['name']); |
|
| 65 | $this->assertEquals(3, $result[0]['friends']); |
|
| 66 | ||
| 67 | $this->assertEquals('Guilherme B.', $result[1]['name']); |
|
| 68 | $this->assertEquals(2, $result[1]['friends']); |
|
| 69 | ||
| 70 | $this->assertEquals('Benjamin E.', $result[2]['name']); |
|
| 71 | $this->assertEquals(2, $result[2]['friends']); |
|
| 72 | ||
| 73 | $this->assertEquals('Roman B.', $result[3]['name']); |
|
| 74 | $this->assertEquals(1, $result[3]['friends']); |
|
| 75 | } |
|
| 76 | ||
| 77 | public function testIsNullAssociation() |
|
| 78 | { |
|
| @@ 100-117 (lines=18) @@ | ||
| 97 | $this->assertEquals(25, $result[3]['namedeplength']); |
|
| 98 | } |
|
| 99 | ||
| 100 | public function testFunctionLocate() |
|
| 101 | { |
|
| 102 | $dql = "SELECT m, LOCATE('e', LOWER(m.name)) AS loc, LOCATE('e', LOWER(m.name), 7) AS loc2 ". |
|
| 103 | "FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC"; |
|
| 104 | ||
| 105 | $result = $this->_em->createQuery($dql) |
|
| 106 | ->getArrayResult(); |
|
| 107 | ||
| 108 | $this->assertEquals(4, count($result)); |
|
| 109 | $this->assertEquals(0, $result[0]['loc']); |
|
| 110 | $this->assertEquals(2, $result[1]['loc']); |
|
| 111 | $this->assertEquals(6, $result[2]['loc']); |
|
| 112 | $this->assertEquals(0, $result[3]['loc']); |
|
| 113 | $this->assertEquals(0, $result[0]['loc2']); |
|
| 114 | $this->assertEquals(10, $result[1]['loc2']); |
|
| 115 | $this->assertEquals(9, $result[2]['loc2']); |
|
| 116 | $this->assertEquals(0, $result[3]['loc2']); |
|
| 117 | } |
|
| 118 | ||
| 119 | public function testFunctionLower() |
|
| 120 | { |
|
| @@ 167-185 (lines=19) @@ | ||
| 164 | $this->assertEquals('JONATHAN W.', $result[3]['uppername']); |
|
| 165 | } |
|
| 166 | ||
| 167 | public function testFunctionSubstring() |
|
| 168 | { |
|
| 169 | $dql = "SELECT m, SUBSTRING(m.name, 1, 3) AS str1, SUBSTRING(m.name, 5) AS str2 ". |
|
| 170 | "FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.name"; |
|
| 171 | ||
| 172 | $result = $this->_em->createQuery($dql) |
|
| 173 | ->getArrayResult(); |
|
| 174 | ||
| 175 | $this->assertEquals(4, count($result)); |
|
| 176 | $this->assertEquals('Ben', $result[0]['str1']); |
|
| 177 | $this->assertEquals('Gui', $result[1]['str1']); |
|
| 178 | $this->assertEquals('Jon', $result[2]['str1']); |
|
| 179 | $this->assertEquals('Rom', $result[3]['str1']); |
|
| 180 | ||
| 181 | $this->assertEquals('amin E.', $result[0]['str2']); |
|
| 182 | $this->assertEquals('herme B.', $result[1]['str2']); |
|
| 183 | $this->assertEquals('than W.', $result[2]['str2']); |
|
| 184 | $this->assertEquals('n B.', $result[3]['str2']); |
|
| 185 | } |
|
| 186 | ||
| 187 | public function testFunctionTrim() |
|
| 188 | { |
|