el = new EditLib(); } protected function tearDown(): void { } /** * Font Family and Font Size * * => {FONT(family="tahoma", size="12pt")}text{FONT} * - 'font-family' * - 'font-size' * * @group marked-as-incomplete */ public function testFontFamily(): void { $this->markTestIncomplete('Work in progress.'); /* * family */ $ex = '{FONT(family="tahoma")}text{FONT}'; $inData = 'text'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); /* * size */ $ex = '{FONT(size="12px")}text{FONT}'; $inData = 'text'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $ex = '{FONT(size="12pt")}text{FONT}'; $inData = 'text'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $ex = '{FONT(size="1.2em")}text{FONT}'; $inData = 'text'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); /* * family and size */ $ex = '{FONT(family="tahoma", size="12pt")}'; $inData = 'text'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); } /** * Bold * * => __ * - * - * - 'font-weight:bold' */ public function testBold(): void { // simple $ex = '__bold__'; $inData = 'bold'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'bold'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'bold'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); // line break $ex = '__bold__\n__BOLD__regular'; $inData = 'bold
BOLD
regular'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'bold
BOLD
regular'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'bold
BOLD
regular'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); } /** * Italic * * => '' * - * - * - 'font-style:italic' */ public function testItalic(): void { $ex = '\'\'italic\'\''; $inData = 'italic'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'italic'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'italic'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); // line break $ex = '\'\'italic\'\'\n\'\'ITALIC\'\'regular'; $inData = 'italic
ITALIC
regular'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'italic
ITALIC
regular'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'italic
ITALIC
regular'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); } /** * Underlined * * => === * - * - 'text-decoration:underline' */ public function testUnderlined(): void { $ex = '===underlined==='; $inData = 'underlined'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'underlined'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); // line break $ex = '===underlined===\n===UNDERLINED==='; $inData = 'underlined
UNDERLINED
'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'underlined
UNDERLINED
'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); } /** * Strikethrough * * => -- * - * - * - * - 'text-decoration:line-through' */ public function testStrikethrough(): void { $ex = '--strikethrough--'; $inData = 'strikethrough'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'strikethrough'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'strikethrough'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'strikethrough'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); // line break $ex = '--strikethrough--\n--STRIKETHROUGH--'; $inData = 'strikethrough
STRIKETHROUGH
'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'strikethrough
STRIKETHROUGH
'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'strikethrough
STRIKETHROUGH
'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); $inData = 'strikethrough
STRIKETHROUGH
'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); } /** * Subscript * * => {SUB()} * - */ public function testSubscript(): void { $ex = '{SUB()}subscript{SUB}'; $inData = 'subscript'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); } /** * Superscript * * => {SUP()} * - */ public function testSuperscript(): void { $ex = '{SUP()}subscript{SUP}'; $inData = 'subscript'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); } /** * Monospaced * * => -+ * - * * @group marked-as-incomplete */ public function testMonospace(): void { $ex = '-+monospaced+-'; $inData = 'monospaced'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); // line break $this->markTestIncomplete('Work in progress.'); $ex = '-+monospaced+-\n-+MONOSPACED+-'; $inData = 'monospaced
MONOSPACED
'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); } /** * Teletype * * => {DIV(type="tt")} * - */ public function testTeletype(): void { $ex = '{DIV(type="tt")}typewriter{DIV}'; $inData = 'typewriter'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); } /** * Text and background color * * => ~~ * - 'background' * - 'background-color' */ public function testColor(): void { /* * text only */ $ex = '~~#FF0000:color~~'; $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); /* * background only */ $ex = '~~ ,#FFFF00:color~~'; $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); /* * text and background */ $ex = '~~#FF0000,#0000FF:color~~'; $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); $inData = 'color'; $out = $this->el->parseToWiki($inData); $this->assertEquals($ex, $out); /* * line break */ $ex = '~~#FF0000,#0000FF:color text 1~~\n~~#FF0000,#0000FF:color text 2~~'; $inData = 'color text 1
color text 2
'; $out = $this->el->parseToWiki($inData); $out = preg_replace('/\n/', '\n', $out); // fix LF encoding for comparison $this->assertEquals($ex, $out); } }