The ApplicationSetting model uses the CacheMarkdownField concern, which updates
the cached HTML when the field is updated in the database. However, in specs,
when we want to test conditions using ApplicationSetting, we stub it, because
this is accessed in different ways throughout the application.
This means that if a spec runs that caches one of the Markdown fields, and a
later spec uses `stub_application_setting` to set the raw value of that field,
the cached value was still the original one. We can work around this by ignoring
the Markdown cache in contexts where we're using `stub_application_setting`.
We could be smarter, and only do this on the Markdown fields of the model, but
this is probably fine.
This change fix a memory leak due to a Webkit bug:
https://github.com/ariya/phantomjs/issues/12903
Also:
- Whitelist only localhost and 127.0.0.1 in Capybara + JS specs
- Blacklist all requests to media such as images, videos, PDFs, CSVs etc.
- Log all the requests made.
Signed-off-by: Rémy Coutable <remy@rymai.me>
The links in the help page may be modified. This new test checks that
URLs in this page are absolute and do not depend on the presence of a
trailing slash in the URL.
Signed-off-by: David Wagner <david@marvid.fr>