@@ -96,41 +96,54 @@ public function testSetOptionsWithInvalidResultForIdenticals(): void
9696 */
9797 public function testHtmlRendererRenderWithResultFromJsonRenderer (): void
9898 {
99- $ htmlRenderer = RendererFactory::make ('Inline ' );
100-
101- // test "outputTagAsString" is false
102- $ jsonResult = DiffHelper::calculate (
103- 'old marker ' ,
104- 'new marker ' ,
105- 'Json ' ,
106- [],
107- ['outputTagAsString ' => false ]
108- );
109- $ jsonArray = \json_decode ($ jsonResult , true );
110- $ inlineResult = $ htmlRenderer ->renderArray ($ jsonArray );
111-
112- static ::assertStringContainsString (
113- '><del>old</del> marker< ' ,
114- $ inlineResult ,
115- "HTML renderers should be able to render with JSON result. ('outputTagAsString' => false) "
116- );
117-
118- // test "outputTagAsString" is true
119- $ jsonResult = DiffHelper::calculate (
120- 'old marker ' ,
121- 'new marker ' ,
122- 'Json ' ,
123- [],
124- ['outputTagAsString ' => true ]
125- );
126- $ jsonArray = \json_decode ($ jsonResult , true );
127- $ inlineResult = $ htmlRenderer ->renderArray ($ jsonArray );
128-
129- static ::assertStringContainsString (
130- '><del>old</del> marker< ' ,
131- $ inlineResult ,
132- "HTML renderers should be able to render with JSON result. ('outputTagAsString' => true) "
133- );
99+ static $ rendererNames = ['Inline ' , 'SideBySide ' , 'Json ' ];
100+
101+ $ old = '_TEST_MARKER_OLD_ ' ;
102+ $ new = '_TEST_MARKER_NEW_ ' ;
103+ $ differOptions = [];
104+ $ rendererOptions = [];
105+
106+ foreach ($ rendererNames as $ rendererName ) {
107+ $ renerer = RendererFactory::make ($ rendererName , $ rendererOptions );
108+
109+ $ goldenResult = DiffHelper::calculate (
110+ $ old ,
111+ $ new ,
112+ $ rendererName ,
113+ $ differOptions ,
114+ $ rendererOptions
115+ );
116+
117+ // test "outputTagAsString" is false
118+ $ jsonResult = DiffHelper::calculate (
119+ $ old ,
120+ $ new ,
121+ 'Json ' ,
122+ $ differOptions ,
123+ ['outputTagAsString ' => false ] + $ rendererOptions
124+ );
125+
126+ static ::assertSame (
127+ $ goldenResult ,
128+ $ renerer ->renderArray (\json_decode ($ jsonResult , true )),
129+ "HTML renderers should be able to render with JSON result. ('outputTagAsString' => false) "
130+ );
131+
132+ // test "outputTagAsString" is true
133+ $ jsonResult = DiffHelper::calculate (
134+ $ old ,
135+ $ new ,
136+ 'Json ' ,
137+ $ differOptions ,
138+ ['outputTagAsString ' => true ] + $ rendererOptions
139+ );
140+
141+ static ::assertSame (
142+ $ goldenResult ,
143+ $ renerer ->renderArray (\json_decode ($ jsonResult , true )),
144+ "HTML renderers should be able to render with JSON result. ('outputTagAsString' => true) "
145+ );
146+ }
134147 }
135148
136149 /**
@@ -142,10 +155,9 @@ public function testTextRendererRenderWithResultFromJsonRenderer(): void
142155 {
143156 static ::expectException (UnsupportedFunctionException::class);
144157
145- $ jsonResult = DiffHelper::calculate ('old marker ' , 'new marker ' , 'Json ' );
146- $ jsonArray = \json_decode ($ jsonResult , true );
158+ $ jsonResult = DiffHelper::calculate ('_TEST_MARKER_OLD_ ' , '_TEST_MARKER_NEW_ ' , 'Json ' );
147159
148160 $ textRenderer = RendererFactory::make ('Unified ' );
149- $ UnifiedResult = $ textRenderer ->renderArray ($ jsonArray );
161+ $ UnifiedResult = $ textRenderer ->renderArray (\json_decode ( $ jsonResult , true ) );
150162 }
151163}
0 commit comments