- Allow limited state setting when session is already in progress
- Allow test sessions without a test database
- Denote an “in progress” session through a “testsession.started” session flag rather than the usage of a temporary database
The perceptual diff extension in Behat defaults to taking
a screenshot of every browser step, including the
"started testsession" one. A simple way to avoid this view
changing is hiding the variable state behind a click event.
The state info is mostly used for manual testing via
dev/tests/startsession anyway.
testsession/start now includes a comment of the form <!-- SUCCESS: DBNAME=DatabaseName -->,
which can be used by behat and other consumers to validate that the tesession was actually
started.
It's included the database name in its output, which is a small piece of information
disclosure, but not a big deal compared to the generally dev-only nature of this module.
It requires a fix to Cookie::set(), to ensure that set cookies also apperar immediately
in $_COOKIE. Otherwise the call to DB::get_alternative_database_name() after it is set
won't return a value.