mirror of
https://github.com/discourse/discourse.git
synced 2025-05-29 01:31:35 +08:00
FIX: improve regex used for image sizing controls (#8291)
This commit is contained in:
@ -721,49 +721,68 @@ QUnit.test("Image resizing buttons", async assert => {
|
||||
await click("#create-topic");
|
||||
|
||||
let uploads = [
|
||||
// 0 Default markdown with dimensions- should work
|
||||
"",
|
||||
"[img]http://example.com/image.jpg[/img]",
|
||||
"",
|
||||
"",
|
||||
// 1 Image with scaling percentage, should work
|
||||
"",
|
||||
// 2 image with scaling percentage and a proceeding whitespace, should work
|
||||
"",
|
||||
// 3 No dimensions, should not work
|
||||
"",
|
||||
// 4 Wrapped in backquetes should not work
|
||||
"``",
|
||||
"",
|
||||
// 5 html image - should not work
|
||||
"<img src='http://someimage.jpg' wight='20' height='20'>",
|
||||
// 6 two images one the same line, but both are syntactically correct - both should work
|
||||
" ",
|
||||
// 7 & 8 Identical images - both should work
|
||||
"",
|
||||
""
|
||||
"",
|
||||
// 9 Image with whitespaces in alt - should work
|
||||
"",
|
||||
// 10 Image with markdown title - should work
|
||||
``,
|
||||
// 11 bbcode - should not work
|
||||
"[img]http://example.com/image.jpg[/img]"
|
||||
];
|
||||
|
||||
await fillIn(".d-editor-input", uploads.join("\n"));
|
||||
|
||||
assert.ok(
|
||||
find(".button-wrapper").length === 6,
|
||||
find(".button-wrapper").length === 9,
|
||||
"it adds correct amount of scaling button groups"
|
||||
);
|
||||
|
||||
uploads[0] = "";
|
||||
// Default
|
||||
uploads[0] = "";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='50']")[0]);
|
||||
assertImageResized(assert, uploads);
|
||||
|
||||
uploads[2] = "";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='75']")[1]);
|
||||
// Targets the correct image if two on the same line
|
||||
uploads[6] =
|
||||
" ";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='50']")[3]);
|
||||
assertImageResized(assert, uploads);
|
||||
|
||||
uploads[7] =
|
||||
" ";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='50']")[2]);
|
||||
// Try the other image on the same line
|
||||
uploads[6] =
|
||||
" ";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='75']")[4]);
|
||||
assertImageResized(assert, uploads);
|
||||
|
||||
uploads[7] =
|
||||
" ";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='75']")[3]);
|
||||
// Make sure we target the correct image if there are duplicates
|
||||
uploads[7] = "";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='50']")[5]);
|
||||
assertImageResized(assert, uploads);
|
||||
|
||||
uploads[8] = "";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='50']")[4]);
|
||||
// Try the other dupe
|
||||
uploads[8] = "";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='75']")[6]);
|
||||
assertImageResized(assert, uploads);
|
||||
|
||||
uploads[9] = "";
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='75']")[5]);
|
||||
// Don't mess with image titles
|
||||
uploads[10] = ``;
|
||||
await click(find(".button-wrapper .scale-btn[data-scale='75']")[8]);
|
||||
assertImageResized(assert, uploads);
|
||||
|
||||
await fillIn(
|
||||
|
Reference in New Issue
Block a user