This is a huge performance improvement for behat.
The current set of steps loads the page
It then looks for the Classic/Clean version of the settings menu
If it fails to find it looks for the Boost Cog
Then it clicks the "Turn editing on" button
This can take a substantial period.
We do not actually need to run these steps as we are able to jump
straight to the URL. We already have access to the sesskey value
required to do this.
There is not loss in testing functionality because the actual testing of
the Turn editing functionality is tested in other places sufficiently.
Passing parameters to implode() in reverse order is deprecated, use
implode($glue, $parts) instead of implode($parts, $glue).
This commit corresponds to phpunit and manual detections, core files.
resolve_page_instance_helper() already processes the type, returning
the correct context that should be processing the navigation URL.
With that extra call to parse_page_name() the 2nd call always returns
"core", ultimately leading to tons of behat failures because "core" is
not aware of those (plugin, quiz for now) pages typology.
I did not think thought through if this new URL parameter would be a
potential security hole. The simple cop-out option is to make it only
work on Behat sites for now.
If navigation node to expand is a link then first
click on it and navigate to next page where it is
expanded, and then click on link within. This is
needed as some drivers click on link and don't open
the navigation node which are links
Also:
* In behat, ensure nav node exists before checking attribute (Credit to
Rajesh Taneja)
* Remove some unused JS constants
* Fix debugging notice for users without settings block
- Update the step to follow links inside a treeview
to work also when JS is disabled.
- Make regions accept header and footer.
- Change some locators refering to non-clean compatible
regions.
- Restricting click to the table row in forum tracking
because seems to conflict with the navigation bar when
using narrow window sizes.
* Expanding fieldsets before setting the course format
* Ensure editors are loaded moved to expand_all_fieldsets
* Return true rather than false when JS is disabled and
non-allowed steps should continue without throwing an
exception.
* Submit create user form after editing it
* When looking for texts inside the page or inside
other containers we should wait until the elements
are visible.
* Same when expanding tree nodes.
* Normalizing loops to spin() function using
behat_base::TIMEOUT and behat_base::EXTENDED_TIMEOUT,
leaving TIMEOUT for DOM load processes and
EXTENDED_TIMEOUT for long processes that involves JS
too.
* Add page load waits between actions that involves
reloading the page.
- Escaping steps arguments redirected to other steps
- Adding normalized-space() in all contains() assertions
- General xpaths review
- Convering provided xpath text strings to xpath literals
to avoid problems with arguments containing both single
quotes and double quotes