88
88
tryCompareFunction(function () {
89
89
var bottomLeft = preview.mapFromItem(widget, 0, widget.height);
90
return bottomLeft.y <= preview.height
90
return bottomLeft.y <= preview.height + 1 // FIXME the +1 is to workaround https://bugreports.qt.io/browse/QTBUG-56961
103
103
tryCompareFunction(function () {
104
104
var bottomLeft = preview.mapFromItem(widget, 0, widget.height);
105
return bottomLeft.y <= preview.height
105
return bottomLeft.y <= preview.height + 1 // FIXME the +1 is to workaround https://bugreports.qt.io/browse/QTBUG-56961
119
119
var moreLessButton = findChild(widget, "moreLessButton");
120
120
mouseClick(moreLessButton);
123
// FIXME: For some reason the PreviewWidgetFactory (parent of 'widget')
124
// is destroyed on idle calls, when the test is under stress.
125
// Not to compromise the result, we just skip the test if this happens
126
var widget_str = widget.toString()
127
var preview_str = preview.toString()
129
function skipTest() { skipped = true; }
130
preview.Component.onDestruction.connect(skipTest)
131
widget.Component.onDestruction.connect(skipTest)
122
133
// Wait for the combo to stop growing
123
tryCompare(widget, "height", units.gu(15));
134
tryCompareFunction(function(){ return (widget.height == units.gu(15) || skipped) }, true, 5000, "Widget lost "+widget_str+" was skipped ");
125
136
// Make sure the combo bottom is on the viewport
126
137
tryCompareFunction(function () {
138
if (skipped) return true;
127
139
var bottomLeft = preview.mapFromItem(widget, 0, widget.height);
128
return bottomLeft.y <= preview.height
140
return bottomLeft.y <= preview.height + 1 // FIXME the +1 is to workaround https://bugreports.qt.io/browse/QTBUG-56961
144
preview.Component.onDestruction.disconnect(skipTest)
145
widget.Component.onDestruction.disconnect(skipTest)
147
skip("preview %1 or widget %2 have been destroyed, thus we can't safely continue this test".arg(preview_str).arg(widget_str))