Make Chaturbate thumbnail grids responsive
This commit is contained in:
@@ -86,43 +86,43 @@ assert.match(
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-following-list="1"[\s\S]*--tm-thumb-following-list-columns/,
|
||||
"followed-cams list should be separated from homepage list column count",
|
||||
/data-tm-thumb-scale-following-list="1"[\s\S]*--tm-thumb-following-list-min-width/,
|
||||
"followed-cams list should use its own detected minimum column width",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-following-list="1"[\s\S]*grid-template-columns:\s*repeat\(var\(--tm-thumb-following-list-columns\),\s*minmax\(0,\s*1fr\)\)\s*!important/,
|
||||
"followed-cams list should reduce the original column count and keep 1fr alignment",
|
||||
/data-tm-thumb-scale-following-list="1"[\s\S]*grid-template-columns:\s*repeat\(auto-fill,\s*minmax\(var\(--tm-thumb-following-list-min-width\),\s*1fr\)\)\s*!important/,
|
||||
"followed-cams list should reduce columns responsively using scaled minimum width",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/#main\.roomPage\s+ul\.list:has\(li\.roomCard\)\s+\.room_thumbnail_container[\s\S]*width:\s*100%\s*!important[\s\S]*height:\s*var\(--tm-thumb-related-height\)\s*!important/,
|
||||
"room page related rooms thumbnail containers should follow card width and use detected height",
|
||||
/#main\.roomPage\s+ul\.list:has\(li\.roomCard\)\s+\.room_thumbnail_container[\s\S]*width:\s*100%\s*!important[\s\S]*height:\s*auto\s*!important/,
|
||||
"room page related rooms thumbnail containers should follow card width and automatic height",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/\.BaseRoomContents\s+ul\.list:has\(li\.roomCard\)\s+\.room_thumbnail[\s\S]*width:\s*100%\s*!important[\s\S]*height:\s*var\(--tm-thumb-related-height\)\s*!important/,
|
||||
"base room related thumbnails should follow card width and use detected height",
|
||||
/\.BaseRoomContents\s+ul\.list:has\(li\.roomCard\)\s+\.room_thumbnail[\s\S]*width:\s*100%\s*!important[\s\S]*height:\s*auto\s*!important/,
|
||||
"base room related thumbnails should follow card width and automatic height",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid[\s\S]*grid-template-columns:\s*repeat\(auto-fill,\s*var\(--tm-thumb-related-width\)\)\s*!important/,
|
||||
"base room RoomCardGrid related rooms should use detected card width",
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid[\s\S]*grid-template-columns:\s*repeat\(auto-fill,\s*minmax\(var\(--tm-thumb-related-width\),\s*1fr\)\)\s*!important/,
|
||||
"base room RoomCardGrid related rooms should fill the row using detected scaled minimum width",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid\s+\.RoomCardThumbnail[\s\S]*width:\s*100%\s*!important[\s\S]*height:\s*var\(--tm-thumb-related-height\)\s*!important/,
|
||||
"base room RoomCardGrid thumbnails should follow card width and use detected height",
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid\s+\.RoomCardThumbnail[\s\S]*width:\s*100%\s*!important[\s\S]*height:\s*auto\s*!important/,
|
||||
"base room RoomCardGrid thumbnails should follow card width and automatic height",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid\s*>\s*li\.RoomCard[\s\S]*height:\s*var\(--tm-thumb-related-card-height\)\s*!important/,
|
||||
"base room RoomCardGrid related cards should use detected card height",
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid\s*>\s*li\.RoomCard[\s\S]*height:\s*auto\s*!important[\s\S]*max-height:\s*none\s*!important/,
|
||||
"base room RoomCardGrid related cards should use automatic height",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid\s*>\s*li\.RoomCard[\s\S]*width:\s*var\(--tm-thumb-related-width\)\s*!important/,
|
||||
"base room RoomCardGrid related cards should use detected card width",
|
||||
/\.BaseRoomContents\s+ul\.RoomCardGrid\s*>\s*li\.RoomCard[\s\S]*width:\s*auto\s*!important[\s\S]*justify-self:\s*stretch\s*!important[\s\S]*max-width:\s*none\s*!important/,
|
||||
"base room RoomCardGrid related cards should stretch to fill responsive columns",
|
||||
);
|
||||
assert.doesNotMatch(capturedCss, /--tm-thumb-min-root:\s*\d+px;/, "script should not hard-code a root thumbnail fallback width");
|
||||
assert.doesNotMatch(capturedCss, /--tm-thumb-height-root:\s*\d+px;/, "script should not hard-code a root thumbnail fallback height");
|
||||
@@ -151,6 +151,36 @@ assert.match(
|
||||
/height:\s*var\(--tm-thumb-discover-double-arrow\)\s*!important/,
|
||||
"discover carousel arrow heights should use detected original heights",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-followed-page="1"[\s\S]*\.carousel-root\s+\.single-row\s+ul\.list[\s\S]*height:\s*auto\s*!important[\s\S]*max-height:\s*none\s*!important[\s\S]*overflow:\s*visible\s*!important/,
|
||||
"followed-cams recommendations should release carousel list height after scaling",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-followed-page="1"[\s\S]*grid-template-columns:\s*repeat\(auto-fill,\s*minmax\(var\(--tm-thumb-discover-width\),\s*1fr\)\)\s*!important/,
|
||||
"followed-cams legacy recommendations should use responsive scaled minimum width",
|
||||
);
|
||||
assert.doesNotMatch(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-followed-page="1"[\s\S]*grid-template-columns:\s*repeat\(2,/,
|
||||
"followed-cams recommendations should not force a hard-coded two-column layout",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-followed-recommendations="1"[\s\S]*data-tm-thumb-followed-recommendations-list="1"[\s\S]*grid-template-columns:\s*repeat\(auto-fill,\s*minmax\(var\(--tm-thumb-followed-recommendations-width\),\s*1fr\)\)\s*!important[\s\S]*grid-auto-rows:\s*auto\s*!important/,
|
||||
"title-detected followed recommendations should use responsive scaled minimum columns and automatic row height",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-followed-recommendations="1"[\s\S]*data-tm-thumb-followed-recommendations-card="1"[\s\S]*width:\s*auto\s*!important[\s\S]*max-width:\s*none\s*!important[\s\S]*height:\s*auto\s*!important[\s\S]*max-height:\s*none\s*!important/,
|
||||
"title-detected followed recommendation cards should stretch responsively and grow naturally",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/data-tm-thumb-scale-followed-recommendations="1"[\s\S]*data-tm-thumb-followed-recommendations-thumb="1"[\s\S]*height:\s*auto\s*!important/,
|
||||
"title-detected followed recommendation thumbnails should keep automatic height",
|
||||
);
|
||||
assert.match(
|
||||
capturedCss,
|
||||
/#discover_root\s+\.room-list-carousel\s+\.room_thumbnail[\s\S]*height:\s*var\(--tm-thumb-discover-height\)\s*!important/,
|
||||
@@ -420,12 +450,12 @@ vm.runInNewContext(source, {
|
||||
cardHeightScale: 1.55,
|
||||
modules: {
|
||||
home: {
|
||||
homeColumns: 7,
|
||||
homeMinWidth: 190,
|
||||
homeCard: { width: 174, height: 120 },
|
||||
homeThumb: { width: 174, height: 98 },
|
||||
},
|
||||
followingList: {
|
||||
followingListColumns: 7,
|
||||
followingListMinWidth: 190,
|
||||
followingListCard: { width: 190, height: 120 },
|
||||
followingListThumb: { width: 188, height: 106 },
|
||||
},
|
||||
@@ -453,8 +483,8 @@ vm.runInNewContext(source, {
|
||||
|
||||
assert.equal(followingAttrs.get("data-tm-thumb-scale-following-list"), undefined, "followed-cams should not apply legacy cached list module");
|
||||
assert.equal(followingAttrs.get("data-tm-thumb-scale-home"), undefined, "followed-cams should not apply legacy homepage cache");
|
||||
assert.equal(followingVars.get("--tm-thumb-following-list-columns"), undefined);
|
||||
assert.equal(followingVars.get("--tm-thumb-following-list-min-width"), undefined);
|
||||
assert.equal(followingVars.get("--tm-thumb-following-list-card-height"), undefined);
|
||||
assert.equal(followingVars.get("--tm-thumb-following-list-thumb-width"), undefined);
|
||||
assert.equal(followingVars.get("--tm-thumb-following-list-thumb-height"), undefined);
|
||||
assert.equal(followingVars.get("--tm-thumb-home-columns"), undefined);
|
||||
assert.equal(followingVars.get("--tm-thumb-home-min-width"), undefined);
|
||||
|
||||
Reference in New Issue
Block a user