Ghost/ghost/core/test/unit/server
Simon Backx 4534b693e4
Added test that validates output HTML of email template (#15365)
refs https://github.com/TryGhost/Team/issues/1871

This commit adds a test to the serialize method of `post-emaiserializer`. It checks whether the generated email HTML is valid and standard HTML5 and that all properties are escaped.

To do this validation, I depend on the new `html-validate` dev dependency. Just parsing the HTML with a HTML parser is not enough to guarantee that the HTML is okay.

Apart from that this fixes:
- Removed the sanitizeHTML method and replaced it with normal HTML escaping. We don't want to allow any HTML in the escaped fields. Whereas `sanitizeHTML` still allows valid HTML, but we don't want that and want the same behaviour as on the site. E.g., a post with a title `All your need to know about the <br /> tag` should actually render the same title and non-html content, being `All your need to know about the &lt;br /&gt; tag`
- The file, nft and audio card didn't (always) escape the injected HTML fields (new version @tryghost/kg-default-cards) 
- `@tryghost/string` is bumped because it contains the new escapeHtml method
2022-09-08 10:11:01 +02:00
..
adapters Added basic memory cache storage implementation 2022-08-05 02:28:33 +12:00
data Fixed adapter-related unit test 2022-09-06 18:46:32 +08:00
lib Fixed adapter-related unit test 2022-09-06 18:46:32 +08:00
models Added ENUM validation for member/subscription created events (#15312) 2022-08-25 15:39:37 +02:00
services Added test that validates output HTML of email template (#15365) 2022-09-08 10:11:01 +02:00
web Moved Cache-Control middleware to separate package 2022-08-11 14:14:20 +02:00
notify.test.js Converted Ghost repo into a monorepo 2022-07-20 16:41:05 +02:00
overrides.test.js Converted Ghost repo into a monorepo 2022-07-20 16:41:05 +02:00