mirror of
https://github.com/discourse/discourse.git
synced 2024-11-29 15:03:43 +08:00
f9608c0af5
There were two constants here, `INLINE_ONEBOX_LOADING_CSS_CLASS` and `INLINE_ONEBOX_CSS_CLASS` that were both longer than the strings they were DRYing up: `inline-onebox-loading` and `inline-onebox` I normally appreciate constants, but in this case it meant that we had a lot of JS imports resulting in many more lines of code (and CPU cycles spent figuring them out.) It also meant we had an `.erb` file and had to invoke Ruby to create the JS file, which meant the app was harder to port to Ember CLI. I removed the constants. It's less DRY but faster and simpler, and arguably the loss of DRYness is not significant as you can still search for the `inline-onebox-loading` and `inline-onebox` strings easily if you are refactoring.
47 lines
1.7 KiB
JavaScript
47 lines
1.7 KiB
JavaScript
import { acceptance } from "helpers/qunit-helpers";
|
|
|
|
acceptance("Composer - Onebox", {
|
|
loggedIn: true,
|
|
settings: {
|
|
max_oneboxes_per_post: 2,
|
|
enable_markdown_linkify: true
|
|
}
|
|
});
|
|
|
|
QUnit.test(
|
|
"Preview update should respect max_oneboxes_per_post site setting",
|
|
async assert => {
|
|
await visit("/t/internationalization-localization/280");
|
|
await click("#topic-footer-buttons .btn.create");
|
|
|
|
await fillIn(
|
|
".d-editor-input",
|
|
`
|
|
http://www.example.com/has-title.html
|
|
This is another test http://www.example.com/has-title.html
|
|
|
|
http://www.example.com/no-title.html
|
|
|
|
This is another test http://www.example.com/no-title.html
|
|
This is another test http://www.example.com/has-title.html
|
|
|
|
http://www.example.com/has-title.html
|
|
`
|
|
);
|
|
|
|
assert.equal(
|
|
find(".d-editor-preview:visible")
|
|
.html()
|
|
.trim(),
|
|
`
|
|
<p><aside class=\"onebox\"><article class=\"onebox-body\"><h3><a href=\"http://www.example.com/article.html\">An interesting article</a></h3></article></aside><br>
|
|
This is another test <a href=\"http://www.example.com/has-title.html\" class=\"inline-onebox\">This is a great title</a></p>
|
|
<p><a href=\"http://www.example.com/no-title.html\" class=\"onebox\" target=\"_blank\">http://www.example.com/no-title.html</a></p>
|
|
<p>This is another test <a href=\"http://www.example.com/no-title.html\" class=\"\">http://www.example.com/no-title.html</a><br>
|
|
This is another test <a href=\"http://www.example.com/has-title.html\" class=\"inline-onebox\">This is a great title</a></p>
|
|
<p><aside class=\"onebox\"><article class=\"onebox-body\"><h3><a href=\"http://www.example.com/article.html\">An interesting article</a></h3></article></aside></p>
|
|
`.trim()
|
|
);
|
|
}
|
|
);
|