/** * @dataProvider getDoctypeProvider */ public function testGetDoctype($language, $version, $dialect, $xhtml_1_0_compat, $expected) { $ctx = new RenderContext(); $ctx->setLanguage($language); $ctx->setVersion($version); $ctx->setDialect($dialect); if ($xhtml_1_0_compat) { $ctx->setXHTMLCompatMode($xhtml_1_0_compat); } $this->assertSame($language, $ctx->getLanguage()); $this->assertEquals($version, $ctx->getVersion()); $this->assertSame($dialect, $ctx->getDialect()); $this->assertEquals($xhtml_1_0_compat, $ctx->getXHTMLCompatMode()); $this->assertSame($expected, $ctx->getDoctype()); $ctx = new RenderContext($language, $version, $dialect); $this->assertSame($language, $ctx->getLanguage()); $this->assertEquals($version, $ctx->getVersion()); $this->assertSame($dialect, $ctx->getDialect()); $ctx->setCharset('utf-8'); if ($xhtml_1_0_compat) { $ctx->setXHTMLCompatMode($xhtml_1_0_compat); } $pre_content = $ctx->renderPreContent(); if ($ctx->getLanguage() == RenderContext::LANG_XML || $ctx->getLanguage() == RenderContext::LANG_XHTML && !$ctx->getXHTMLCompatMode()) { $this->assertContains('<' . '?xml version="1.0" encoding="utf-8" ?' . ">\n", $pre_content); if ($expected !== '') { $this->assertContains($expected, $pre_content); } } elseif ($pre_content !== '') { $this->assertSame($expected . "\n", $pre_content); } }
/** * @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(); } }