-
-
Notifications
You must be signed in to change notification settings - Fork 546
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Widont adds spaces for all paragraphs, and fix words param (#3303)
- Loading branch information
1 parent
a58abd1
commit 1899d3b
Showing
3 changed files
with
110 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
<?php | ||
|
||
namespace Tests\Modifiers; | ||
|
||
use Statamic\Modifiers\Modify; | ||
use Tests\TestCase; | ||
|
||
class WidontTest extends TestCase | ||
{ | ||
/** | ||
* @test | ||
*/ | ||
public function it_adds_space_to_plain_text() | ||
{ | ||
$value = 'Lorem ipsum dolor sit amet.'; | ||
|
||
$this->assertEquals('Lorem ipsum dolor sit amet.', $this->modify($value)); | ||
} | ||
|
||
/** @test */ | ||
public function it_uses_params_to_add_space_to_plain_text() | ||
{ | ||
$value = 'Lorem ipsum dolor sit amet.'; | ||
|
||
$this->assertEquals('Lorem ipsum dolor sit amet.', $this->modify($value, 2)); | ||
} | ||
|
||
/** @test */ | ||
public function it_uses_params_to_add_space_to_long_broken_text() | ||
{ | ||
$value = <<<'EOD' | ||
Lorem ipsum dolor sit amet. | ||
Lorem ipsum dolor sit amet. | ||
Lorem ipsum dolor sit amet. | ||
EOD; | ||
|
||
$expected = <<<'EOD' | ||
Lorem ipsum dolor sit amet. | ||
Lorem ipsum dolor sit amet. | ||
Lorem ipsum dolor sit amet. | ||
EOD; | ||
|
||
$this->assertEquals($expected, $this->modify($value)); | ||
} | ||
|
||
/** @test */ | ||
public function it_adds_space_to_text_within_html_tags() | ||
{ | ||
$value1 = '<p>Lorem ipsum dolor sit amet.</p>'; | ||
$value2 = '<h1>Lorem ipsum dolor sit amet.</h1>'; | ||
$value3 = '<h2>Lorem ipsum dolor sit amet.</h2>'; | ||
|
||
$this->assertEquals('<p>Lorem ipsum dolor sit amet.</p>', $this->modify($value1)); | ||
$this->assertEquals('<h1>Lorem ipsum dolor sit amet.</h1>', $this->modify($value2)); | ||
$this->assertEquals('<h2>Lorem ipsum dolor sit amet.</h2>', $this->modify($value3)); | ||
} | ||
|
||
/** @test */ | ||
public function it_adds_space_to_text_within_multiple_html_tags() | ||
{ | ||
$value = '<p>Lorem ipsum dolor sit amet.</p><p>Consectetur adipiscing elit.</p>'; | ||
|
||
$this->assertEquals('<p>Lorem ipsum dolor sit amet.</p><p>Consectetur adipiscing elit.</p>', $this->modify($value)); | ||
} | ||
|
||
/** @test */ | ||
public function it_uses_params_to_add_space_to_text_within_html_tags() | ||
{ | ||
$value1 = '<p>Lorem ipsum dolor sit amet.</p>'; | ||
$value2 = '<h1>Lorem ipsum dolor sit amet.</h1>'; | ||
$value3 = '<h2>Lorem ipsum dolor sit amet.</h2>'; | ||
|
||
$this->assertEquals('<p>Lorem ipsum dolor sit amet.</p>', $this->modify($value1, 2)); | ||
$this->assertEquals('<h1>Lorem ipsum dolor sit amet.</h1>', $this->modify($value2, 3)); | ||
$this->assertEquals('<h2>Lorem ipsum dolor sit amet.</h2>', $this->modify($value3, 4)); | ||
} | ||
|
||
/** @test */ | ||
public function it_uses_params_to_add_space_to_text_within_multiple_html_tags() | ||
{ | ||
$value = '<p>Lorem ipsum dolor sit amet.</p><p>Consectetur adipiscing elit.</p>'; | ||
|
||
$this->assertEquals('<p>Lorem ipsum dolor sit amet.</p><p>Consectetur adipiscing elit.</p>', $this->modify($value, 2)); | ||
} | ||
|
||
/** @test */ | ||
public function it_pases_bard_test() | ||
{ | ||
$value = '<p>Lorem ipsum dolor sit amet.</p><p></p><p>Consectetur adipiscing elit.</p>'; | ||
|
||
$this->assertEquals('<p>Lorem ipsum dolor sit amet.</p><p></p><p>Consectetur adipiscing elit.</p>', $this->modify($value)); | ||
} | ||
|
||
public function modify($value, $params = []) | ||
{ | ||
return Modify::value($value)->widont($params)->fetch(); | ||
} | ||
} |