|
59 | 59 | <argument name="page"/>
|
60 | 60 | <argument name="index" defaultValue="1" type="string"/>
|
61 | 61 | <argument name="padding" defaultValue="PageBuilderPaddingProperty40"/>
|
| 62 | + <argument name="expectedOverlayWidth" defaultValue="540" type="string"/> |
62 | 63 | </arguments>
|
63 |
| - <!-- Validate right edge of overlay --> |
64 |
| - <comment userInput="Validate right edge of overlay" stepKey="commentValidateRightEdgeOfOverlay"/> |
65 |
| - <executeJS function="return {{page.wrapperJS(index)}}.getBoundingClientRect().right" stepKey="wrapperRightPosition"/> |
66 |
| - <executeJS function="return {{page.overlayJS(index)}}.getBoundingClientRect().right" stepKey="overlayRightPosition"/> |
67 |
| - <executeJS function="return Math.round(({$wrapperRightPosition}-{$overlayRightPosition})*100)/100" stepKey="overlaySpaceRight"/> |
68 |
| - <assertGreaterThanOrEqual stepKey="assertOverlaySpaceRightGreaterThanOrEqualToRightPadding"> |
69 |
| - <expectedResult type="int">{{padding.paddingRight}}</expectedResult> |
70 |
| - <actualResult type="variable">overlaySpaceRight</actualResult> |
71 |
| - </assertGreaterThanOrEqual> |
| 64 | + <!-- Validate width of overlay --> |
| 65 | + <comment userInput="Validate width of overlay" stepKey="commentValidateWidthOfOverlay"/> |
| 66 | + <executeJS function="return {{page.overlayJS(index)}}.getBoundingClientRect().width" stepKey="overlayWidth"/> |
| 67 | + <assertEquals stepKey="assertOverlayWidth"> |
| 68 | + <expectedResult type="string">{{expectedOverlayWidth}}</expectedResult> |
| 69 | + <actualResult type="variable">overlayWidth</actualResult> |
| 70 | + </assertEquals> |
72 | 71 | <!-- Validate left edge of overlay -->
|
73 | 72 | <comment userInput="Validate left edge of overlay" stepKey="commentValidateLeftEdgeOfOverlay"/>
|
74 | 73 | <executeJS function="return {{page.wrapperJS(index)}}.getBoundingClientRect().left" stepKey="wrapperLeftPosition"/>
|
|
85 | 84 | <argument name="page"/>
|
86 | 85 | <argument name="index" defaultValue="1" type="string"/>
|
87 | 86 | <argument name="padding" defaultValue="PageBuilderPaddingProperty40"/>
|
| 87 | + <argument name="expectedOverlayWidth" defaultValue="540" type="string"/> |
88 | 88 | </arguments>
|
89 | 89 | <!-- Validate right edge of overlay -->
|
90 | 90 | <comment userInput="Validate right edge of overlay" stepKey="commentValidateRightEdgeOfOverlay"/>
|
|
95 | 95 | <expectedResult type="int">{{padding.paddingRight}}</expectedResult>
|
96 | 96 | <actualResult type="variable">overlayPadding</actualResult>
|
97 | 97 | </assertEquals>
|
98 |
| - <!-- Validate left edge of overlay --> |
99 |
| - <comment userInput="Validate left edge of overlay" stepKey="commentValidateLeftEdgeOfOverlay"/> |
100 |
| - <executeJS function="return {{page.wrapperJS(index)}}.getBoundingClientRect().left" stepKey="wrapperLeftPosition"/> |
101 |
| - <executeJS function="return {{page.overlayJS(index)}}.getBoundingClientRect().left" stepKey="overlayLeftPosition"/> |
102 |
| - <executeJS function="return Math.round(({$overlayLeftPosition}-{$wrapperLeftPosition})*100)/100" stepKey="overlaySpaceLeft"/> |
103 |
| - <assertGreaterThanOrEqual stepKey="assertOverlaySpaceLeftGreaterThanOrEqualToLeftPadding"> |
104 |
| - <expectedResult type="int">{{padding.paddingLeft}}</expectedResult> |
105 |
| - <actualResult type="variable">overlaySpaceLeft</actualResult> |
106 |
| - </assertGreaterThanOrEqual> |
| 98 | + <!-- Validate width of overlay --> |
| 99 | + <comment userInput="Validate width of overlay" stepKey="commentValidateWidthOfOverlay"/> |
| 100 | + <executeJS function="return {{page.overlayJS(index)}}.getBoundingClientRect().width" stepKey="overlayWidth"/> |
| 101 | + <assertEquals stepKey="assertOverlayWidth"> |
| 102 | + <expectedResult type="string">{{expectedOverlayWidth}}</expectedResult> |
| 103 | + <actualResult type="variable">overlayWidth</actualResult> |
| 104 | + </assertEquals> |
107 | 105 | </actionGroup>
|
108 | 106 | <!-- Checks the position of the overlay with small padding value. This action group may not work with large padding values -->
|
109 | 107 | <actionGroup name="validateOverlayPositionCollageCenter">
|
110 | 108 | <arguments>
|
111 | 109 | <argument name="page"/>
|
112 | 110 | <argument name="index" defaultValue="1" type="string"/>
|
113 | 111 | <argument name="padding" defaultValue="PageBuilderPaddingProperty40"/>
|
| 112 | + <argument name="expectedOverlayWidth" defaultValue="540" type="string"/> |
114 | 113 | </arguments>
|
115 |
| - <!-- Validate right edge of overlay --> |
| 114 | + <!-- Validate width of overlay --> |
| 115 | + <comment userInput="Validate width of overlay" stepKey="commentValidateWidthOfOverlay"/> |
| 116 | + <executeJS function="return {{page.overlayJS(index)}}.getBoundingClientRect().width" stepKey="overlayWidth"/> |
| 117 | + <assertEquals stepKey="assertOverlayWidth"> |
| 118 | + <expectedResult type="string">{{expectedOverlayWidth}}</expectedResult> |
| 119 | + <actualResult type="variable">overlayWidth</actualResult> |
| 120 | + </assertEquals> |
| 121 | + <!-- Validate center position of overlay --> |
116 | 122 | <executeJS function="return {{page.wrapperJS(index)}}.getBoundingClientRect().right" stepKey="wrapperRightPosition"/>
|
| 123 | + <executeJS function="return {{page.wrapperJS(index)}}.getBoundingClientRect().width" stepKey="wrapperWidth"/> |
| 124 | + <executeJS function="return Math.round(({$wrapperRightPosition}-({$wrapperWidth}/2))*100)/100" stepKey="wrapperCenterPosition"/> |
117 | 125 | <executeJS function="return {{page.overlayJS(index)}}.getBoundingClientRect().right" stepKey="overlayRightPosition"/>
|
118 |
| - <executeJS function="return Math.round(({$wrapperRightPosition}-{$overlayRightPosition})*100)/100" stepKey="overlaySpaceRight"/> |
119 |
| - <assertGreaterThanOrEqual stepKey="assertOverlaySpaceRightGreaterThanOrEqualToRightPadding"> |
120 |
| - <expectedResult type="int">{{padding.paddingRight}}</expectedResult> |
121 |
| - <actualResult type="variable">overlaySpaceRight</actualResult> |
| 126 | + <executeJS function="return Math.round(({$overlayRightPosition}-({$overlayWidth}/2))*100)/100" stepKey="overlayCenterPosition"/> |
| 127 | + <executeJS function="return Math.round(({$wrapperCenterPosition}/{$overlayCenterPosition})*100)/100" stepKey="overlayCenterRatio"/> |
| 128 | + <assertGreaterThanOrEqual stepKey="assertOverlayCenterRatio"> |
| 129 | + <expectedResult type="int">1</expectedResult> |
| 130 | + <actualResult type="variable">overlayCenterRatio</actualResult> |
122 | 131 | </assertGreaterThanOrEqual>
|
123 | 132 | <!-- Validate left edge of overlay -->
|
124 | 133 | <comment userInput="Validate left edge of overlay" stepKey="commentValidateLeftEdgeOfOverlay"/>
|
|
173 | 182 | <actionGroup name="validateOverlayAndButtonPoster">
|
174 | 183 | <arguments>
|
175 | 184 | <argument name="column"/>
|
| 185 | + <argument name="columnIndex" defaultValue="1" type="string"/> |
| 186 | + <argument name="columnBorderWidth" defaultValue="PageBuilderAdvancedBorderWidthProperty0"/> |
| 187 | + <argument name="columnPadding" defaultValue="PageBuilderPaddingProperty10"/> |
176 | 188 | <argument name="element"/>
|
| 189 | + <argument name="elementIndex" defaultValue="1" type="string"/> |
177 | 190 | <argument name="elementBorderWidth" defaultValue="PageBuilderAdvancedBorderWidthProperty0"/>
|
| 191 | + <argument name="elementPadding" defaultValue="PageBuilderPaddingPropertyDefault"/> |
| 192 | + <argument name="overlayPadding" defaultValue="PageBuilderAdvancedMarginsAndPaddingPropertyDefaultSlide"/> |
178 | 193 | <argument name="diffThreshold" defaultValue="0" type="string"/>
|
179 | 194 | </arguments>
|
180 |
| - <executeJS function="return document.querySelector('{{column.columnX('1')}}').clientWidth" stepKey="columnWidth"/> |
181 |
| - <executeJS function="return parseInt({{element.elementJS('1')}}.getBoundingClientRect().width)" stepKey="elementWidth"/> |
182 |
| - <executeJS function="return parseInt({$columnWidth} - {{PageBuilderPaddingProperty10.paddingLeft}} - {{PageBuilderPaddingProperty10.paddingRight}})" stepKey="expectedElementWidth"/> |
| 195 | + <!-- Validate Element Width --> |
| 196 | + <comment userInput="Validate Element Width" stepKey="commentValidateElementWidth"/> |
| 197 | + <executeJS function="return document.querySelector('{{column.columnX(columnIndex)}}').clientWidth" stepKey="columnWidth"/> |
| 198 | + <executeJS function="return parseInt({{element.elementJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="elementWidth"/> |
| 199 | + <executeJS function="return parseInt({$columnWidth} - {{columnPadding.paddingLeft}} - {{columnPadding.paddingRight}} - ({{columnBorderWidth.value}} * 2))" stepKey="expectedElementWidth"/> |
183 | 200 | <executeJS function="return Math.abs({$expectedElementWidth} - {$elementWidth})" stepKey="elementDiff"/>
|
184 | 201 | <!-- We will allow a 2px offset to account for rounding and any additional threshold that is passed in as an argument -->
|
185 | 202 | <executeJS function="return parseInt({{diffThreshold}} + 2)" stepKey="acceptableOffset"/>
|
186 |
| - <assertLessThanOrEqual stepKey="assertElementWidthEqualsColumnWidthLessColumnPaddingAndColumnBorderWidth"> |
| 203 | + <assertLessThanOrEqual stepKey="assertElementWidthEqualsColumnWidthLessPaddingAndBorder"> |
187 | 204 | <expectedResult type="variable">acceptableOffset</expectedResult>
|
188 | 205 | <actualResult type="variable">elementDiff</actualResult>
|
189 | 206 | </assertLessThanOrEqual>
|
190 |
| - <executeJS function="return parseInt({{element.overlayJS('1')}}.getBoundingClientRect().width)" stepKey="overlayWidth"/> |
191 |
| - <executeJS function="return parseInt({$elementWidth} - {{PageBuilderPaddingPropertyDefault.paddingLeft}} - {{PageBuilderPaddingPropertyDefault.paddingRight}} - ({{elementBorderWidth.value}} * 2))" stepKey="expectedOverlayWidth"/> |
| 207 | + <!-- Validate Overlay Width --> |
| 208 | + <comment userInput="Validate Overlay Width" stepKey="commentValidateOverlayWidth"/> |
| 209 | + <executeJS function="return parseInt({{element.overlayJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="overlayWidth"/> |
| 210 | + <executeJS function="return parseInt({$elementWidth} - {{elementPadding.paddingLeft}} - {{elementPadding.paddingRight}} - ({{elementBorderWidth.value}} * 2))" stepKey="expectedOverlayWidth"/> |
192 | 211 | <executeJS function="return Math.abs({$expectedOverlayWidth} - {$overlayWidth})" stepKey="overlayDiff"/>
|
193 |
| - <assertLessThanOrEqual stepKey="assertOverlayWidthEqualsElementWidthLessElementPaddingAndElementBorderWidth"> |
| 212 | + <assertLessThanOrEqual stepKey="assertOverlayWidthEqualsElementWidthLessPaddingAndBorder"> |
194 | 213 | <expectedResult type="variable">acceptableOffset</expectedResult>
|
195 | 214 | <actualResult type="variable">overlayDiff</actualResult>
|
196 | 215 | </assertLessThanOrEqual>
|
197 |
| - <executeJS function="return parseInt({{element.contentJS('1')}}.getBoundingClientRect().width)" stepKey="contentWidth"/> |
198 |
| - <executeJS function="return parseInt({$overlayWidth} - {{PageBuilderAdvancedMarginsAndPaddingPropertyDefaultSlide.paddingLeft}} - {{PageBuilderAdvancedMarginsAndPaddingPropertyDefaultSlide.paddingRight}})" stepKey="expectedContentWidth"/> |
| 216 | + <!-- Validate Content Width --> |
| 217 | + <comment userInput="Validate Content Width" stepKey="commentValidateContentWidth"/> |
| 218 | + <executeJS function="return parseInt({{element.contentJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="contentWidth"/> |
| 219 | + <executeJS function="return parseInt({$overlayWidth} - {{overlayPadding.paddingLeft}} - {{overlayPadding.paddingRight}})" stepKey="expectedContentWidth"/> |
199 | 220 | <executeJS function="return Math.abs({$expectedContentWidth} - {$contentWidth})" stepKey="contentDiff"/>
|
200 | 221 | <assertLessThanOrEqual stepKey="assertContentWidthEqualsOverlayWidthLessPadding">
|
201 | 222 | <expectedResult type="variable">acceptableOffset</expectedResult>
|
202 | 223 | <actualResult type="variable">contentDiff</actualResult>
|
203 | 224 | </assertLessThanOrEqual>
|
204 |
| - <executeJS function="return parseInt({{element.buttonJS('1')}}.getBoundingClientRect().width)" stepKey="buttonWidth"/> |
| 225 | + <!-- Validate Button Width --> |
| 226 | + <comment userInput="Validate Button Width" stepKey="commentValidateButtonWidth"/> |
| 227 | + <executeJS function="return parseInt({{element.buttonJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="buttonWidth"/> |
205 | 228 | <!-- wysiwyg content may shrink smaller, but buttons will never be smaller than 36px (17px padding + 1px border) -->
|
206 | 229 | <executeJS function="return Math.max(36, {$expectedContentWidth})" stepKey="expectedButtonWidth"/>
|
207 | 230 | <executeJS function="return Math.abs({$expectedButtonWidth} - {$buttonWidth})" stepKey="buttonDiff"/>
|
|
213 | 236 | <actionGroup name="validateOverlayAndButtonCollage">
|
214 | 237 | <arguments>
|
215 | 238 | <argument name="column"/>
|
| 239 | + <argument name="columnIndex" defaultValue="1" type="string"/> |
| 240 | + <argument name="columnBorderWidth" defaultValue="PageBuilderAdvancedBorderWidthProperty0"/> |
| 241 | + <argument name="columnPadding" defaultValue="PageBuilderPaddingProperty10"/> |
216 | 242 | <argument name="element"/>
|
| 243 | + <argument name="elementIndex" defaultValue="1" type="string"/> |
217 | 244 | <argument name="elementBorderWidth" defaultValue="PageBuilderAdvancedBorderWidthProperty0"/>
|
| 245 | + <argument name="elementPadding" defaultValue="PageBuilderAdvancedMarginsAndPaddingPropertyDefaultSlide"/> |
| 246 | + <argument name="overlayPadding" defaultValue="PageBuilderPaddingPropertyOverlayDefault"/> |
218 | 247 | <argument name="diffThreshold" defaultValue="0" type="string"/>
|
219 | 248 | </arguments>
|
220 |
| - <executeJS function="return document.querySelector('{{column.columnX('1')}}').clientWidth" stepKey="columnWidth"/> |
221 |
| - <executeJS function="return parseInt({{element.elementJS('1')}}.getBoundingClientRect().width)" stepKey="elementWidth"/> |
222 |
| - <executeJS function="return parseInt({$columnWidth} - {{PageBuilderPaddingProperty10.paddingLeft}} - {{PageBuilderPaddingProperty10.paddingRight}})" stepKey="expectedElementWidth"/> |
| 249 | + <!-- Validate Element Width --> |
| 250 | + <comment userInput="Validate Element Width" stepKey="commentValidateElementWidth"/> |
| 251 | + <executeJS function="return document.querySelector('{{column.columnX(columnIndex)}}').clientWidth" stepKey="columnWidth"/> |
| 252 | + <executeJS function="return parseInt({{element.elementJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="elementWidth"/> |
| 253 | + <executeJS function="return parseInt({$columnWidth} - {{columnPadding.paddingLeft}} - {{columnPadding.paddingRight}} - ({{columnBorderWidth.value}} * 2))" stepKey="expectedElementWidth"/> |
223 | 254 | <executeJS function="return Math.abs({$expectedElementWidth} - {$elementWidth})" stepKey="elementDiff"/>
|
224 | 255 | <!-- We will allow a 2px offset to account for rounding and any additional threshold that is passed in as an argument -->
|
225 | 256 | <executeJS function="return parseInt({{diffThreshold}} + 2)" stepKey="acceptableOffset"/>
|
226 |
| - <assertLessThanOrEqual stepKey="assertElementWidthEqualsColumnWidthLessColumnPaddingAndColumnBorderWidth"> |
| 257 | + <assertLessThanOrEqual stepKey="assertElementWidthEqualsColumnWidthLessPaddingAndBorder"> |
227 | 258 | <expectedResult type="variable">acceptableOffset</expectedResult>
|
228 | 259 | <actualResult type="variable">elementDiff</actualResult>
|
229 | 260 | </assertLessThanOrEqual>
|
230 |
| - <executeJS function="return parseInt({{element.overlayJS('1')}}.getBoundingClientRect().width)" stepKey="overlayWidth"/> |
231 |
| - <executeJS function="return parseInt({$elementWidth} - {{PageBuilderAdvancedMarginsAndPaddingPropertyDefaultSlide.paddingLeft}} - {{PageBuilderAdvancedMarginsAndPaddingPropertyDefaultSlide.paddingRight}} - ({{elementBorderWidth.value}} * 2))" stepKey="expectedOverlayWidth"/> |
| 261 | + <!-- Validate Overlay Width --> |
| 262 | + <comment userInput="Validate Overlay Width" stepKey="commentValidateOverlayWidth"/> |
| 263 | + <executeJS function="return parseInt({{element.overlayJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="overlayWidth"/> |
| 264 | + <executeJS function="return parseInt({$elementWidth} - {{elementPadding.paddingLeft}} - {{elementPadding.paddingRight}} - ({{elementBorderWidth.value}} * 2))" stepKey="expectedOverlayWidth"/> |
232 | 265 | <executeJS function="return Math.abs({$expectedOverlayWidth} - {$overlayWidth})" stepKey="overlayDiff"/>
|
233 |
| - <assertLessThanOrEqual stepKey="assertOverlayWidthEqualsElementWidthLessElementPaddingAndElementBorderWidth"> |
| 266 | + <assertLessThanOrEqual stepKey="assertOverlayWidthEqualsElementWidthLessPaddingAndBorder"> |
234 | 267 | <expectedResult type="variable">acceptableOffset</expectedResult>
|
235 | 268 | <actualResult type="variable">overlayDiff</actualResult>
|
236 | 269 | </assertLessThanOrEqual>
|
237 |
| - <executeJS function="return parseInt({{element.contentJS('1')}}.getBoundingClientRect().width)" stepKey="contentWidth"/> |
238 |
| - <executeJS function="return parseInt({$overlayWidth} - {{PageBuilderPaddingPropertyOverlayDefault.paddingLeft}} - {{PageBuilderPaddingPropertyOverlayDefault.paddingRight}})" stepKey="expectedContentWidth"/> |
| 270 | + <!-- Validate Content Width --> |
| 271 | + <comment userInput="Validate Content Width" stepKey="commentValidateContentWidth"/> |
| 272 | + <executeJS function="return parseInt({{element.contentJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="contentWidth"/> |
| 273 | + <executeJS function="return parseInt({$overlayWidth} - {{overlayPadding.paddingLeft}} - {{overlayPadding.paddingRight}})" stepKey="expectedContentWidth"/> |
239 | 274 | <executeJS function="return Math.abs({$expectedContentWidth} - {$contentWidth})" stepKey="contentDiff"/>
|
240 | 275 | <assertLessThanOrEqual stepKey="assertContentWidthEqualsOverlayWidthLessPadding">
|
241 | 276 | <expectedResult type="variable">acceptableOffset</expectedResult>
|
242 | 277 | <actualResult type="variable">contentDiff</actualResult>
|
243 | 278 | </assertLessThanOrEqual>
|
244 |
| - <executeJS function="return parseInt({{element.buttonJS('1')}}.getBoundingClientRect().width)" stepKey="buttonWidth"/> |
| 279 | + <!-- Validate Button Width --> |
| 280 | + <comment userInput="Validate Button Width" stepKey="commentValidateButtonWidth"/> |
| 281 | + <executeJS function="return parseInt({{element.buttonJS(elementIndex)}}.getBoundingClientRect().width)" stepKey="buttonWidth"/> |
245 | 282 | <!-- wysiwyg content may shrink smaller, but buttons will never be smaller than 36px (17px padding + 1px border) -->
|
246 | 283 | <executeJS function="return Math.max(36, {$expectedContentWidth})" stepKey="expectedButtonWidth"/>
|
247 | 284 | <executeJS function="return Math.abs({$expectedButtonWidth} - {$buttonWidth})" stepKey="buttonDiff"/>
|
|
0 commit comments