tamper-8.x-1.x-dev/tests/src/Unit/Plugin/Tamper/TruncateTextTest.php
tests/src/Unit/Plugin/Tamper/TruncateTextTest.php
<?php namespace Drupal\Tests\tamper\Unit\Plugin\Tamper; use Drupal\tamper\Plugin\Tamper\TruncateText; /** * Tests the Truncate Text plugin. * * @coversDefaultClass \Drupal\tamper\Plugin\Tamper\TruncateText * @group tamper */ class TruncateTextTest extends TamperPluginTestBase { /** * {@inheritdoc} */ protected function instantiatePlugin() { return new TruncateText([], 'truncate_text', [], $this->getMockSourceDefinition()); } /** * Test Truncate Text Only By Characters. */ public function testTruncateTextOnlyByChar() { $config = [ TruncateText::SETTING_NUM_CHAR => 5, TruncateText::SETTING_ELLIPSE => FALSE, TruncateText::SETTING_WORDSAFE => FALSE, ]; $plugin = new TruncateText($config, 'truncate_text', [], $this->getMockSourceDefinition()); $this->assertEquals('Hello', $plugin->tamper('Hello, how are you today?')); } /** * Test Truncate Text By Characters and Ellipses. */ public function testTruncateTextByCharAndEllipses() { $config = [ TruncateText::SETTING_NUM_CHAR => 5, TruncateText::SETTING_ELLIPSE => TRUE, TruncateText::SETTING_WORDSAFE => TRUE, ]; $plugin = new TruncateText($config, 'truncate_text', [], $this->getMockSourceDefinition()); $this->assertEquals('Hell…', $plugin->tamper('Hello, how are you today?')); $this->assertEquals('Hello', $plugin->tamper('Hello')); } /** * Test Truncate Text By Characters And WordSafe. */ public function testTruncateTextByCharAndWordSafe() { $config = [ TruncateText::SETTING_NUM_CHAR => 12, TruncateText::SETTING_ELLIPSE => FALSE, TruncateText::SETTING_WORDSAFE => TRUE, ]; $plugin = new TruncateText($config, 'truncate_text', [], $this->getMockSourceDefinition()); $this->assertEquals('Hello, how', $plugin->tamper('Hello, how are you today?')); } }