doFilterNestedArray($original_data, $override_data_before); $this->assertEquals($changed, $result); $this->assertEquals($override_data_after, $override_data_before); } public function providerTestFilterNestedArray() { $data = []; $data['empty'] = [ [], [], [], FALSE, ]; $data['one-level-no-change'] = [ ['key' => 'value'], [], [], FALSE, ]; $data['one-level-override-no-change'] = [ ['key' => 'value'], ['key' => 'value2'], ['key' => 'value2'], FALSE, ]; $data['one-level-override-change'] = [ ['key' => 'value'], ['key2' => 'value2'], [], TRUE, ]; $data['one-level-multiple-override-change'] = [ ['key' => 'value', 'key2' => 'value2'], ['key2' => 'value2', 'key3' => 'value3'], ['key2' => 'value2'], TRUE, ]; $data['multiple-level-multiple-override-change'] = [ ['key' => ['key' => 'value'], 'key2' => ['key' => 'value']], ['key' => ['key2' => 'value2'], 'key2' => ['key' => 'value']], ['key2' => ['key' => 'value']], TRUE, ]; $data['original-scalar-array-override'] = [ ['key' => 'value'], ['key' => ['value1', 'value2']], [], TRUE, ]; return $data; } } class TestConfigFactoryOverrideBase extends ConfigFactoryOverrideBase { public function doFilterNestedArray(array $original_data, array &$override_data) { return $this->filterNestedArray($original_data, $override_data); } public function addCollections(ConfigCollectionInfo $collection_info) { } public function onConfigSave(ConfigCrudEvent $event) { } public function onConfigDelete(ConfigCrudEvent $event) { } public function onConfigRename(ConfigRenameEvent $event) { } }