@@ -96,41 +96,54 @@ public function testSetOptionsWithInvalidResultForIdenticals(): void
96
96
*/
97
97
public function testHtmlRendererRenderWithResultFromJsonRenderer (): void
98
98
{
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
+ }
134
147
}
135
148
136
149
/**
@@ -142,10 +155,9 @@ public function testTextRendererRenderWithResultFromJsonRenderer(): void
142
155
{
143
156
static ::expectException (UnsupportedFunctionException::class);
144
157
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 ' );
147
159
148
160
$ textRenderer = RendererFactory::make ('Unified ' );
149
- $ UnifiedResult = $ textRenderer ->renderArray ($ jsonArray );
161
+ $ UnifiedResult = $ textRenderer ->renderArray (\json_decode ( $ jsonResult , true ) );
150
162
}
151
163
}
0 commit comments