class StrReplaceTest in Migrate Plus 8.5
Same name and namespace in other branches
- 8.4 tests/src/Unit/process/StrReplaceTest.php \Drupal\Tests\migrate_plus\Unit\process\StrReplaceTest
Tests the str replace process plugin.
@group migrate @coversDefaultClass \Drupal\migrate_plus\Plugin\migrate\process\StrReplace
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\migrate\Unit\MigrateTestCase
- class \Drupal\Tests\migrate\Unit\process\MigrateProcessTestCase
- class \Drupal\Tests\migrate_plus\Unit\process\StrReplaceTest
- class \Drupal\Tests\migrate\Unit\process\MigrateProcessTestCase
- class \Drupal\Tests\migrate\Unit\MigrateTestCase
Expanded class hierarchy of StrReplaceTest
File
- tests/
src/ Unit/ process/ StrReplaceTest.php, line 15
Namespace
Drupal\Tests\migrate_plus\Unit\processView source
class StrReplaceTest extends MigrateProcessTestCase {
/**
* Test for a simple str_replace string.
*/
public function testStrReplace() : void {
$value = 'vero eos et accusam et justo vero';
$configuration['search'] = 'et';
$configuration['replace'] = 'that';
$plugin = new StrReplace($configuration, 'str_replace', []);
$actual = $plugin
->transform($value, $this->migrateExecutable, $this->row, 'destinationproperty');
$this
->assertSame('vero eos that accusam that justo vero', $actual);
}
/**
* Test for case insensitive searches.
*/
public function testStrIreplace() : void {
$value = 'VERO eos et accusam et justo vero';
$configuration['search'] = 'vero';
$configuration['replace'] = 'that';
$configuration['case_insensitive'] = TRUE;
$plugin = new StrReplace($configuration, 'str_replace', []);
$actual = $plugin
->transform($value, $this->migrateExecutable, $this->row, 'destinationproperty');
$this
->assertSame('that eos et accusam et justo that', $actual);
}
/**
* Test for regular expressions.
*/
public function testPregReplace() : void {
$value = 'vero eos et 123 accusam et justo 123 duo';
$configuration['search'] = '/[0-9]{3}/';
$configuration['replace'] = 'the';
$configuration['regex'] = TRUE;
$plugin = new StrReplace($configuration, 'str_replace', []);
$actual = $plugin
->transform($value, $this->migrateExecutable, $this->row, 'destinationproperty');
$this
->assertSame('vero eos et the accusam et justo the duo', $actual);
}
/**
* Test for MigrateException for "search" configuration.
*/
public function testSearchMigrateException() : void {
$value = 'vero eos et accusam et justo vero';
$configuration['replace'] = 'that';
$plugin = new StrReplace($configuration, 'str_replace', []);
$this
->expectException(MigrateException::class);
$this
->expectExceptionMessage('"search" must be configured.');
$plugin
->transform($value, $this->migrateExecutable, $this->row, 'destinationproperty');
}
/**
* Test for MigrateException for "replace" configuration.
*/
public function testReplaceMigrateException() : void {
$value = 'vero eos et accusam et justo vero';
$configuration['search'] = 'et';
$plugin = new StrReplace($configuration, 'str_replace', []);
$this
->expectException(MigrateException::class);
$this
->expectExceptionMessage('"replace" must be configured.');
$plugin
->transform($value, $this->migrateExecutable, $this->row, 'destinationproperty');
}
/**
* Test for multiple.
*/
public function testIsMultiple() : void {
$value = [
'vero eos et accusam et justo vero',
'et eos vero accusam vero justo et',
];
$expected = [
'vero eos that accusam that justo vero',
'that eos vero accusam vero justo that',
];
$configuration['search'] = 'et';
$configuration['replace'] = 'that';
$plugin = new StrReplace($configuration, 'str_replace', []);
$actual = $plugin
->transform($value, $this->migrateExecutable, $this->row, 'destinationproperty');
$this
->assertSame($expected, $actual);
$this
->assertTrue($plugin
->multiple());
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MigrateProcessTestCase:: |
protected | property | ||
MigrateProcessTestCase:: |
protected | property | ||
MigrateProcessTestCase:: |
protected | property | ||
MigrateProcessTestCase:: |
protected | function |
Overrides UnitTestCase:: |
19 |
MigrateTestCase:: |
protected | property | The migration ID map. | |
MigrateTestCase:: |
protected | property | An array of migration configuration values. | 16 |
MigrateTestCase:: |
protected | property | Local store for mocking setStatus()/getStatus(). | |
MigrateTestCase:: |
protected | function | Generates a table schema from a row. | |
MigrateTestCase:: |
protected | function | Gets an SQLite database connection object for use in tests. | |
MigrateTestCase:: |
protected | function | Retrieves a mocked migration. | 1 |
MigrateTestCase:: |
protected | function | Gets the value on a row for a given key. | 1 |
MigrateTestCase:: |
public | function | Tests a query. | |
MigrateTestCase:: |
protected | function | Asserts tested values during test retrieval. | |
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
StrReplaceTest:: |
public | function | Test for multiple. | |
StrReplaceTest:: |
public | function | Test for regular expressions. | |
StrReplaceTest:: |
public | function | Test for MigrateException for "replace" configuration. | |
StrReplaceTest:: |
public | function | Test for MigrateException for "search" configuration. | |
StrReplaceTest:: |
public | function | Test for case insensitive searches. | |
StrReplaceTest:: |
public | function | Test for a simple str_replace string. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. |