el = new EditLib();
}
protected function tearDown(): void
{
global $prefs;
// restore preference default state
$prefs['feature_use_three_colon_centertag'] = 'n';
}
/**
* Align divs 'left'
*
* @group marked-as-incomplete
*/
public function testBlockAlignLeft(): void
{
$this->markTestIncomplete('Work in progress.');
$ex = 'This text is aligned left';
/*
* default
*/
$inData = 'This text is aligned left';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
/*
* explicit
*/
$ex = '
This text is aligned left
';
$inData = '{DIV(align="left")}This text is aligned left{DIV}';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Align divs 'center'
*
* @group marked-as-incomplete
*/
public function testBlockAlignCentered(): void
{
global $prefs;
$this->markTestIncomplete('Work in progress.');
/*
* two colon
*/
$prefs['feature_use_three_colon_centertag'] = 'n';
$ex = 'This text is centered
';
$inData = '::This text is centered::';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
/*
* three colon
*/
$prefs['feature_use_three_colon_centertag'] = 'y';
$ex = 'This text is centered
';
$inData = ':::This text is centered:::';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Align divs 'right'
*
* @group marked-as-incomplete
*/
public function testBlockAlignRight(): void
{
$this->markTestIncomplete('Work in progress.');
$ex = 'This text is aligned right
';
$inData = '{DIV(align="right")}This text is aligned right{DIV}';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Align divs 'justify'
*
* @group marked-as-incomplete
*/
public function testBlockAlignJustified(): void
{
$this->markTestIncomplete('Work in progress.');
$ex = 'This text is justified
';
$inData = '{DIV(align="justify")}This text is justified{DIV}';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Align paragraphs 'left'
*
* @group marked-as-incomplete
*/
public function testParagraphAlignLeft(): void
{
$this->markTestIncomplete('Work in progress.');
$ex = 'This text is aligned
';
$inData = '{DIV(type="p", align="left")}This text is aligned{DIV}';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Centered headings must use style attribute
*/
public function testCenterdHeadings(): void
{
global $prefs;
#
# unnumbered
#
$prefs['feature_use_three_colon_centertag'] = 'n';
$prefs['wiki_heading_links'] = 'n';
$inData = '!::Heading::';
$ex = 'Heading
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$prefs['feature_use_three_colon_centertag'] = 'y';
$inData = '!:::Heading:::';
$ex = 'Heading
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
/*
* numbered
*/
$prefs['feature_use_three_colon_centertag'] = 'n';
$inData = '!#::Heading::';
$ex = '1. Heading
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$prefs['feature_use_three_colon_centertag'] = 'y';
$inData = '!#:::Heading:::';
$ex = '1. Heading
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
}
/**
* Headings 1-6
*/
public function testNumberedHeadings(): void
{
$inData = '!#Heading Level 1';
$ex = '1. Heading Level 1
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData .= "\n"; // must keep lover level headings, otherwise we will get an error (undefined number)
$inData .= '!!#Heading Level 2';
$ex .= "\n";
$ex .= '1.1. Heading Level 2
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData .= "\n";
$inData .= '!!!#Heading Level 3';
$ex .= "\n";
$ex .= '1.1.1. Heading Level 3
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData .= "\n";
$inData .= '!!!!#Heading Level 4';
$ex .= "\n";
$ex .= '1.1.1.1. Heading Level 4
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData .= "\n";
$inData .= '!!!!!#Heading Level 5';
$ex .= "\n";
$ex .= '1.1.1.1.1. Heading Level 5
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData .= "\n";
$inData .= '!!!!!!#Heading Level 6';
$ex .= "\n";
$ex .= '1.1.1.1.1.1. Heading Level 6
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
}
/**
* Align paragraphs 'center'
*
* @group marked-as-incomplete
*/
public function testParagraphAlignCentered(): void
{
$this->markTestIncomplete('Work in progress.');
$ex = 'This text is aligned
';
$inData = '{DIV(type="p", align="center")}This text is aligned{DIV}';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Align paragraphs 'right'
*
* @group marked-as-incomplete
*/
public function testParagraphAlignRight(): void
{
$this->markTestIncomplete('Work in progress.');
$ex = 'This text is aligned
';
$inData = '{DIV(type="p", align="right")}This text is aligned{DIV}';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Align paragraphs 'justify'
*
* @group marked-as-incomplete
*/
public function testParagraphAlignJustified(): void
{
$this->markTestIncomplete('Work in progress.');
$ex = 'This text is aligned
';
$inData = '{DIV(type="p", align="justify")}This text is aligned{DIV}';
$out = $this->el->parseToWysiwyg($inData);
$this->assertEquals($ex, $out);
}
/**
* Headings 1-6
*/
public function testUnnumberedHeadings(): void
{
$inData = '!Heading Level 1';
$ex = 'Heading Level 1
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData = '!!Heading Level 2';
$ex = 'Heading Level 2
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData = '!!!Heading Level 3';
$ex = 'Heading Level 3
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData = '!!!!Heading Level 4';
$ex = 'Heading Level 4
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData = '!!!!!Heading Level 5';
$ex = 'Heading Level 5
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
$inData = '!!!!!!Heading Level 6';
$ex = 'Heading Level 6
';
$out = trim($this->el->parseToWysiwyg($inData));
$this->assertEquals($ex, $out);
}
}