DEV: enforces ember-template-lint: no-triple-curlies (#9165)

This pr replaces `{{{ }}}` usage by a {{html-safe}} helper. While it doesn't solve the underlying issue, it gives us a path forward without risking breaking too much existing behavior.

Also introduces an htmlSafe computed macro:

```
import { htmlSafe } from "discourse/lib/computed";

htmlDescription: htmlSafe("description")
```

Overtime {{html-safe}} usage should be removed and moved to components properties or specialized components/helpers.
This commit is contained in:
Joffrey JAFFEUX
2020-03-11 09:23:10 +01:00
committed by GitHub
parent 1f34f653bf
commit 683cb28099
150 changed files with 337 additions and 276 deletions
@@ -0,0 +1,14 @@
import componentTest from "helpers/component-test";
moduleForComponent("html-safe-helper", { integration: true });
componentTest("default", {
template: "{{html-safe string}}",
beforeEach() {
this.set("string", "<p class='cookies'>biscuits</p>");
},
async test(assert) {
assert.ok(exists("p.cookies"), "it displays the string as html");
}
});
+11 -1
View File
@@ -5,7 +5,8 @@ import {
propertyNotEqual,
fmt,
i18n,
url
url,
htmlSafe
} from "discourse/lib/computed";
QUnit.module("lib:computed", {
@@ -154,3 +155,12 @@ QUnit.test("url", assert => {
"it supports urls with a prefix"
);
});
QUnit.test("htmlSafe", assert => {
const cookies = "<p>cookies and <b>biscuits</b></p>";
const t = EmberObject.extend({
desc: htmlSafe("cookies")
}).create({ cookies });
assert.equal(t.get("desc").string, cookies);
});