Tests the setOptionDefault method.
\Drupal\views\Plugin\views\PluginBase::setOptionDefaults.
public function testSetOptionDefault() {
$plugin = $this
->getTestPlugin();
$test_parameters = array();
// No definition mustn't change anything on the storage.
$test_parameters[] = array(
'definition' => array(),
'expected' => array(),
);
// Set a single definition, which should be picked up.
$test_parameters[] = array(
'definition' => array(
'key' => array(
'default' => 'value',
),
),
'expected' => array(
'key' => 'value',
),
);
// Set multiple keys, all should be picked up.
$test_parameters[] = array(
'definition' => array(
'key' => array(
'default' => 'value',
),
'key2' => array(
'default' => 'value2',
),
'key3' => array(
'default' => 'value3',
),
),
'expected' => array(
'key' => 'value',
'key2' => 'value2',
'key3' => 'value3',
),
);
// Setup a definition with multiple levels.
$test_parameters[] = array(
'definition' => array(
'key' => array(
'default' => 'value',
),
'key2' => array(
'contains' => array(
'key2:1' => array(
'default' => 'value2:1',
),
'key2:2' => array(
'default' => 'value2:2',
),
),
),
),
'expected' => array(
'key' => 'value',
'key2' => array(
'key2:1' => 'value2:1',
'key2:2' => 'value2:2',
),
),
);
foreach ($test_parameters as $parameter) {
$parameter += array(
'storage' => array(),
);
$plugin
->testSetOptionDefaults($parameter['storage'], $parameter['definition']);
$this
->assertEqual($parameter['storage'], $parameter['expected']);
}
}