VulpesOS/gaia/apps/gallery/test/unit/mock_thumbnail_group.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

53 lines
1.2 KiB
JavaScript
Executable file

'use strict';
/* exported MockThumbnailGroup */
function MockThumbnailGroup(item) {
var counter = 0;
var dummyNode = document.createElement('div');
dummyNode.textContent = MockThumbnailGroup._GroupID;
var thumbnails = [];
function addItem(item) {
var obj = {data: item.name};
counter++;
thumbnails.push(obj);
return obj;
}
function removeItem(item) {
counter--;
thumbnails.pop({data: item.name});
}
function localize() {}
MockThumbnailGroup._GroupMap[MockThumbnailGroup._GroupID] = {
// api
addItem: addItem,
getCount: function() {return counter;},
removeItem: removeItem,
localize: localize,
// properties.
groupID: MockThumbnailGroup._GroupID,
htmlNode: dummyNode,
thumbnails: thumbnails
};
return MockThumbnailGroup._GroupMap[MockThumbnailGroup._GroupID];
}
MockThumbnailGroup.getGroupID = function(video) {
return MockThumbnailGroup._GroupID;
};
MockThumbnailGroup.compareGroupID = function(id1, id2) {
return id1 > id2 ? 1 : (id1 < id2 ? -1 : 0);
};
MockThumbnailGroup._GroupMap = {};
MockThumbnailGroup.reset = function() {
MockThumbnailGroup._GroupMap = {};
delete MockThumbnailGroup._GroupID;
};