From 0ece498a820d2c85f60c6883a4889e8d00155b34 Mon Sep 17 00:00:00 2001 From: Ayachi Nour Date: Fri, 20 Dec 2024 16:28:53 +0100 Subject: [PATCH] A test that checks whether the elements stay within the window's dimensions after resizing. Related to issue #1687 --- .../SpHorizontalBoxLayoutTest.class.st | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/Spec2-Tests/SpHorizontalBoxLayoutTest.class.st b/src/Spec2-Tests/SpHorizontalBoxLayoutTest.class.st index a7f66b59..e3d74d62 100644 --- a/src/Spec2-Tests/SpHorizontalBoxLayoutTest.class.st +++ b/src/Spec2-Tests/SpHorizontalBoxLayoutTest.class.st @@ -81,3 +81,59 @@ SpHorizontalBoxLayoutTest >> testReplaceWithFixedWidthComposed [ self assert: layout children second children first equals: replacement ] + +{ #category : 'tests' } +SpHorizontalBoxLayoutTest >> testSpSearchInputFieldPresenterResizeCorrectlyWhenWindowHeightDecrease [ + + | searchPresenter buttonPresenter windowWidget buttonWidget searchWidget | + searchPresenter := SpSearchInputFieldPresenter new. + buttonPresenter := SpButtonPresenter new label: 'click me'. + presenter := SpPresenter new + layout: (SpBoxLayout newLeftToRight + add: searchPresenter; + add: buttonPresenter; + yourself); + yourself. + window := presenter open. + + windowWidget := window adapter widget. + buttonWidget := buttonPresenter adapter widget. + searchWidget := searchPresenter adapter widget. + + self assert: (windowWidget bounds containsRect: buttonWidget bounds). + self assert: (windowWidget bounds containsRect: searchWidget bounds). + + windowWidget extent: windowWidget extent - (0 @ 100). + self currentWorld doOneCycle. + + self assert: (windowWidget bounds containsRect: buttonWidget bounds). + self assert: (windowWidget bounds containsRect: searchWidget bounds) +] + +{ #category : 'tests' } +SpHorizontalBoxLayoutTest >> testSpSearchInputFieldPresenterResizeCorrectlyWhenWindowWidthDecrease [ + + | searchPresenter buttonPresenter windowWidget buttonWidget searchWidget | + searchPresenter := SpSearchInputFieldPresenter new. + buttonPresenter := SpButtonPresenter new label: 'click me'. + presenter := SpPresenter new + layout: (SpBoxLayout newLeftToRight + add: searchPresenter; + add: buttonPresenter; + yourself); + yourself. + window := presenter open. + + windowWidget := window adapter widget. + buttonWidget := buttonPresenter adapter widget. + searchWidget := searchPresenter adapter widget. + + self assert: (windowWidget bounds containsRect: buttonWidget bounds). + self assert: (windowWidget bounds containsRect: searchWidget bounds). + + windowWidget extent: windowWidget extent - (100 @ 0). + self currentWorld doOneCycle. + + self assert: (windowWidget bounds containsRect: buttonWidget bounds). + self assert: (windowWidget bounds containsRect: searchWidget bounds) +]