134 : void
135 {
136 $mapping = function ($row, $record, $ui_factory, $environment) {
137 return $row
138 ->withHeadline($record['headline'])
139 ->withSubheadline($record['subhead'])
140 ->withImportantFields($record['important_fields'])
141 ->withContent((
new I\
Component\Listing\Descriptive($record[
'content'])))
142 ->withFurtherFieldsHeadline($record['further_headline'])
143 ->withFurtherFields($record['further_fields'])
145 };
146
147 $expected = <<<EXP
148<div class="il-table-presentation" id="id_3">
149 <h3 class="ilHeader">title</h3>
150 <div class="il-table-presentation-viewcontrols">
151 <div class="l-bar__space-keeper l-bar__space-keeper--space-between">
152 <div class="l-bar__group">
153 <div class="l-bar__element">
154 <
button class=
"btn btn-default" id=
"id_1">presentation_table_expand</
button>
155 <
button class=
"btn btn-default" id=
"id_2">presentation_table_collapse</
button>
156 </div>
157 </div>
158 <div class="l-bar__group"></div>
159 </div>
160 </div>
161 <div class="il-table-presentation-data">
162 <div class="il-table-presentation-row row collapsed" id="id_4">
163
164 <div class="il-table-presentation-row-controls col-lg-auto col-sm-12">
165 <div class="il-table-presentation-row-controls-expander inline">
166 <a tabindex="0" class="glyph" href="#" aria-label="expand_content" id="id_5">
167 <span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span>
168 </a>
169 </div>
170 <div class="il-table-presentation-row-controls-collapser">
171 <a tabindex="0" class="glyph" href="#" aria-label="collapse_content" id="id_6">
172 <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span>
173 </a>
174 </div>
175 </div>
176
177 <div class="il-table-presentation-row-contents col-lg col-sm-12">
178 <div class="row">
179 <div class="il-table-presentation-row-header col-lg col-sm-12">
180 <h4
class=
"il-table-presentation-row-header-headline" onClick=
"$(document).trigger('il_signal...');">some title<br /><
small>some type</
small>
181 </h4>
182 <div class="il-table-presentation-row-header-fields">
183 <div class="l-bar__space-keeper">
184 <div class="l-bar__group">
185 <div class="il-table-presentation-row-header-fields-value l-bar__element">important-1</div>
186 </div>
187 </div>
188 <div class="l-bar__space-keeper">
189 <div class="l-bar__group">
190 <div class="il-table-presentation-row-header-fields-value l-bar__element">important-2</div>
191 </div>
192 </div>
193 <
button class=
"btn btn-link" id=
"id_7">presentation_table_more</
button>
194 </div>
195 </div>
196 <div class="il-table-presentation-actions col-lg-auto col-sm-12">
197 <
button class=
"btn btn-default" data-action=
"#" id=
"id_8">
do</
button><br />
198 </div>
199 <div class="il-table-presentation-row-expanded col-lg-12 col-sm-12">
200 <div class="row">
201 <div class="il-table-presentation-desclist col-lg col-sm-12 desclist-column">
202 <dl>
203 <dt>1st</dt>
204 <dd>first content</dd>
205 <dt>2nd</dt>
206 <dd>second content</dd>
207 </dl>
208 </div>
209 <div class="il-table-presentation-details col-lg-5 col-sm-12">
210 <div class="il-table-presentation-fields">
211 <h5>further fields</h5>
212 <span class="il-item-property-name">f-1</span>
213 <span class="il-item-property-value">further</span>
214 <br />
215 <span class="il-item-property-name">f-2</span>
216 <span class="il-item-property-value">way further</span>
217 <br />
218 </div>
219 </div>
220 </div>
221 </div>
222 </div>
223 </div>
224 </div>
225 </div>
226</div>
227EXP;
228
229 $r = $this->getDefaultRenderer();
231 $pt =
$f->presentation(
'title', [], $mapping);
232 $actual = $r->render($pt->withData($this->getDummyData()));
233 $this->assertEquals(
234 $this->brutallyTrimHTML($expected),
235 $this->brutallyTrimHTML($this->brutallyTrimSignals($actual))
236 );
237 }