unified-video-framework
Version:
Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more
81 lines • 2.75 kB
JavaScript
import { formatTime, generateTimeSlots, getProgramProgress, parseTime, formatDateTime } from '../react/utils/EPGUtils.js';
function testEPGUtils() {
const now = Date.now();
const startTime = now - (60 * 60 * 1000);
const endTime = now + (60 * 60 * 1000);
const timeStr = formatTime(now);
console.log('Formatted time:', timeStr);
const dateTimeStr = formatDateTime(now);
console.log('Formatted date/time:', dateTimeStr);
const slots = generateTimeSlots(startTime, 4, 30);
console.log('Generated slots:', slots.length);
const isoString = new Date().toISOString();
const timestamp = parseTime(isoString);
console.log('Parsed timestamp:', timestamp);
const sampleProgram = {
id: 'test',
title: 'Test Program',
description: 'Test',
since: new Date(startTime).toISOString(),
till: new Date(endTime).toISOString()
};
const progress = getProgramProgress(sampleProgram, now);
console.log('Program progress:', progress);
}
function testEPGDataStructure() {
const sampleProgram = {
id: 'test-program-1',
title: 'Test Program',
description: 'A test program description',
since: new Date().toISOString(),
till: new Date(Date.now() + 2 * 60 * 60 * 1000).toISOString(),
category: 'Entertainment',
rating: 'PG-13',
image: 'https://example.com/image.jpg'
};
const sampleChannel = {
programTitle: 'Test Channel',
channelLogo: 'https://example.com/logo.jpg',
data: [sampleProgram]
};
const sampleEPGData = {
timeline: [sampleChannel]
};
console.log('EPG data structure test passed');
console.log('Sample data:', sampleEPGData);
}
function testEPGConfig() {
const config = {
timeSlotDuration: 30,
visibleHours: 4,
enableInfiniteScroll: true,
lazyLoadThreshold: 100,
showChannelLogos: true,
showProgramImages: true,
compactMode: false,
showFavoriteButton: false,
showRecordButton: false,
showReminderButton: false,
showCatchupButton: false,
};
console.log('EPG config test passed');
console.log('Config:', config);
}
function runEPGTests() {
console.log('=== EPG Implementation Test ===');
try {
testEPGUtils();
testEPGDataStructure();
testEPGConfig();
console.log('✅ All EPG tests passed successfully!');
console.log('EPG components are properly compiled and functional.');
}
catch (error) {
console.error('❌ EPG test failed:', error);
}
}
export { runEPGTests };
if (typeof window === 'undefined') {
runEPGTests();
}
//# sourceMappingURL=epg-test.js.map