I have spent quite a lot of time working through the current list of
eslint options and configuring them for Moodle style and I think this is
a very good basis to start us at (as well as taking some of out jshint
options out with https://www.npmjs.com/package/polyjuice ). Thanks to
Andrew Nicols, Mark Johnson and Frédéric Massart for some refinements.
With this configuration the grunt build will fail if errors are present
in the js (though you can of course tell jshint to ignore some errors,
as I have done in admin/tool/lp/amd/src/competency_rule_points.js and
defining the Y global in lib/amd/src/yui.js ).
The grunt task will not report warnings by default, but a new
--show-lint-warnings flag will help achieve that. Editor
integrations/stanadalone eslint tool will surely be a better way of
getting eslint errors rather than using the grunt task.
dirname() is a slow function compared with __DIR__ and using
'/../'. Moodle has a large number of legacy files that are included
each time a page loads and is not able to use an autoloader as it is
functional code. This allows those required includes to perform as
best as possible in this situation.
Changes made in this patch include:
* Reverting to the original look of having the percentage label of the
progress bar inside it.
* Setting a minimum width for the progress bar so the percentage label
will still be visible even at 0%.
* Replaced the blank space between the percent text and the percent
sign with a non-breaking space.
* Added relevant aria attributes for the progress bars.
* I think that this is a good opportunity to use a single template for the
progress bars so I created one that is basically based from the core
template columns-1to2. Column 1 contains the progress text, while column2
contains the progress bar itself.
Now backup and restore operations free logger resources calling
to the destroy() method. This commit ensures:
1) That gc_collect_cycles() is not used anymore in backup-related tests.
2) That all backup and restore controllers in test do always call
to the detroy() method.
3) Some unset() calls, needed to make gc_collect_cycles() are not used
anymore.
One of the unit tests for tool_recyclebin makes an assumption that a
fresh install of Moodle has no course modules, which is true for vanilla
moodle.
However there are some third party plugins (mod_oublog and
mod_respondusws are the ones I've run into) that have a course module
added to the frontpage course on install.
So this change alters the test from comparing the count of modules in
the test course with a hardcoded value to first getting the existing
count of values before performing the actions that affect the count and
then using that value to compare with.
When trying to select a user or competency the first select
would not work. Worked fine on the second select. This fixes
that problem and tidies up the code.