@@ -152,6 +152,38 @@ public function testCreateRow()
152
152
$ tester ->drop ();
153
153
}
154
154
155
+ public function testIndexCasting ()
156
+ {
157
+ $ mapper = $ this ->createMapper ();
158
+
159
+ $ mapper ->arrays = true ;
160
+
161
+ foreach ($ mapper ->find ('_vspace ' ) as $ space ) {
162
+ if ($ space ['id ' ] >= 512 ) {
163
+ $ mapper ->getSpace ($ space ['id ' ])->drop ();
164
+ }
165
+ }
166
+
167
+ $ tester = $ mapper ->createSpace ('tester ' );
168
+
169
+ $ tester ->addProperty ('id ' , 'unsigned ' );
170
+ $ tester ->addProperty ('name ' , 'string ' );
171
+ $ tester ->addProperty ('nick ' , 'string ' );
172
+ $ tester ->addProperty ('age ' , 'unsigned ' );
173
+ $ tester ->addIndex (['name ' , 'nick ' , 'age ' ]);
174
+
175
+ $ testRow = ['id ' => 1 , 'name ' => 'Vladimir ' , 'nick ' => 'vovan1 ' , 'age ' => 20 ];
176
+ $ tester ->create ($ testRow );
177
+
178
+ $ row1 = $ mapper ->find ('tester ' , ['name ' => 'Vladimir ' , 'nick ' => 'vovan1 ' ]);
179
+ $ row2 = $ mapper ->find ('tester ' , ['nick ' => 'vovan1 ' , 'name ' => 'Vladimir ' ]);
180
+ $ row3 = $ mapper ->find ('tester ' , ['name ' => 'Vladimir ' , 'age ' => 20 , 'nick ' => 'vovan1 ' ]);
181
+
182
+ $ this ->assertSame ($ row1 , $ row2 );
183
+ $ this ->assertSame ($ row1 , $ row3 );
184
+ $ tester ->drop ();
185
+ }
186
+
155
187
public function testFindOrCreateRow ()
156
188
{
157
189
$ mapper = $ this ->createMapper ();
@@ -201,7 +233,7 @@ public function testFindOrCreateRow()
201
233
$ this ->assertTrue ($ result [0 ][0 ] == 2 );
202
234
$ this ->assertSame ($ secondRow ->id , $ result [0 ][0 ]);
203
235
$ this ->assertEquals ($ secondRow , $ findRow );
204
- $ tester -> drop ();
236
+
205
237
}
206
238
207
239
public function testLua ()
0 commit comments