mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-12 11:40:19 +08:00
Fixed yii\data\ArrayDataProvider::getKeys() return wrong when yii\data\ArrayDataProvider::$allModels contain integer key
This commit is contained in:
@@ -150,4 +150,33 @@ class ArrayDataProviderTest extends TestCase
|
||||
|
||||
$this->assertEquals($sortedProjects, $dataProvider->getModels());
|
||||
}
|
||||
|
||||
public function testGetKeys()
|
||||
{
|
||||
$pagination = ['pageSize' => 2];
|
||||
|
||||
$simpleArray = [
|
||||
['name' => 'zero'],
|
||||
['name' => 'one'],
|
||||
['name' => 'tow'],
|
||||
];
|
||||
$dataProvider = new ArrayDataProvider(['allModels' => $simpleArray, 'pagination' => $pagination]);
|
||||
$this->assertEquals([0, 1], $dataProvider->getKeys());
|
||||
|
||||
$namedArray = [
|
||||
'key1' => ['name' => 'zero'],
|
||||
'key2' => ['name' => 'one'],
|
||||
'key3' => ['name' => 'two'],
|
||||
];
|
||||
$dataProvider = new ArrayDataProvider(['allModels' => $namedArray, 'pagination' => $pagination]);
|
||||
$this->assertEquals(['key1', 'key2'], $dataProvider->getKeys());
|
||||
|
||||
$mixedArray = [
|
||||
'key1' => ['name' => 'zero'],
|
||||
9 => ['name' => 'one'],
|
||||
'key3' => ['name' => 'two'],
|
||||
];
|
||||
$dataProvider = new ArrayDataProvider(['allModels' => $mixedArray, 'pagination' => $pagination]);
|
||||
$this->assertEquals(['key1', 9], $dataProvider->getKeys());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user