44
55namespace JohnnyHuy \Laravel \Markdown \Tests \Elements \Inline ;
66
7- use JohnnyHuy \Laravel \Inline \Renderer \CodepenRenderer ;
8- use JohnnyHuy \Laravel \Markdown \Tests \BaseTestCase ;
97use Mockery ;
8+ use League \CommonMark \DocParser ;
9+ use League \CommonMark \Environment ;
10+ use League \CommonMark \HtmlRenderer ;
11+ use JohnnyHuy \Laravel \Inline \Element \Codepen ;
1012use PHPUnit \Framework \ExpectationFailedException ;
13+ use JohnnyHuy \Laravel \Inline \Parser \CodepenParser ;
14+ use JohnnyHuy \Laravel \Markdown \Tests \BaseTestCase ;
15+ use JohnnyHuy \Laravel \Inline \Renderer \CodepenRenderer ;
16+ use League \CommonMark \Inline \Renderer \InlineRendererInterface ;
1117use SebastianBergmann \RecursionContext \InvalidArgumentException ;
1218
1319/**
@@ -50,16 +56,20 @@ public function failedStrings()
5056 public function testShouldRender ($ input , $ output )
5157 {
5258 // Arrange
53- $ mock = Mockery::mock (CodepenRenderer::class)
59+ $ rendererMock = Mockery::mock (CodepenRenderer::class)
5460 ->makePartial ()
5561 ->shouldReceive ('getContent ' )
5662 ->withAnyArgs ()
5763 ->once ()
5864 ->andReturn (file_get_contents (__DIR__ . '/../../Fakes/CodePen.json ' ));
59- $ this ->app ->instance (CodepenRenderer::class, $ mock ->getMock ());
65+ $ environment = Environment::createCommonMarkEnvironment ();
66+ $ parser = new DocParser ($ environment );
67+ $ htmlRenderer = new HtmlRenderer ($ environment );
68+ $ environment ->addInlineParser (new CodepenParser ());
69+ $ environment ->addInlineRenderer (Codepen::class, $ rendererMock ->getMock ());
6070
6171 // Act
62- $ html = $ this -> app -> markdown -> convertToHtml ($ input );
72+ $ html = $ htmlRenderer -> renderBlock ( $ parser -> parse ($ input) );
6373
6474 // Arrange
6575 $ this ->assertSame ("$ output \n" , $ html );
@@ -74,6 +84,16 @@ public function testShouldRender($input, $output)
7484 */
7585 public function testShouldNotRender ($ input , $ output )
7686 {
77- $ this ->assertSame ("$ output \n" , $ this ->app ->markdown ->convertToHtml ($ input ));
87+ $ environment = Environment::createCommonMarkEnvironment ();
88+ $ parser = new DocParser ($ environment );
89+ $ htmlRenderer = new HtmlRenderer ($ environment );
90+ $ environment ->addInlineParser (new CodepenParser ());
91+ $ environment ->addInlineRenderer (Codepen::class, new CodepenRenderer ());
92+
93+ // Act
94+ $ html = $ htmlRenderer ->renderBlock ($ parser ->parse ($ input ));
95+
96+ // Assert
97+ $ this ->assertSame ("$ output \n" , $ html );
7898 }
7999}
0 commit comments