/** * @dataProvider truncateProvider() */ public function testTruncate($text, $length, $boundary, $ellipsis, $extension, $text_mode, $expected) { if ($text_mode) { $ctx = new RenderContext(); $ctx->setLanguage(RenderContext::LANG_TEXT); RenderContext::push($ctx); } else { $this->assertSame(RenderContext::get()->getLanguage(), RenderContext::LANG_HTML, 'Wrong RenderContext!'); } $this->assertSame($expected, String::truncate($text, $length, $boundary, $ellipsis, $extension)); if ($text_mode) { RenderContext::pop(); } }