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:
@@ -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");
|
||||
}
|
||||
});
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user