You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for such detailed explanation of what the problem is, @zyro23. It is a bit of an edge case but it indeed does what the docs say it wouldn't do so it's clearly a bug and needs fixing.
expected behavior of
Browser.at(Page)
(quoting the docs):void
method calls in an at-checker do not get ast transformed, i.e. no assert(...):https://github.com/geb/geb/blob/v1.0/module/geb-implicit-assertions/src/main/groovy/geb/transform/implicitassertions/ImplicitAssertionsTransformationVisitor.groovy#L255
now, if a static at-checker has a
void
method call as lastBinaryExpression
, that is cast toboolean
, returningfalse
(the void method call does not get ast transformed):https://github.com/geb/geb/blob/v1.0/module/geb-core/src/main/groovy/geb/Page.groovy#L228
that
false
is mapped to null and returned byBrowser.doAt(Page)
:https://github.com/geb/geb/blob/v1.0/module/geb-core/src/main/groovy/geb/Browser.groovy#L459
so we get no
AssertionError
, noException
, justnull
. currentBrowser.page
does not change.n.b. possible workaround is a simple
true
as last statement in the static at-checker.The text was updated successfully, but these errors were encountered: