49 lines
1.9 KiB
JavaScript
49 lines
1.9 KiB
JavaScript
// Test the corrected implementation with real file
|
|
const SatLocLogParser = require('./helpers/satloc_log_parser.js').SatLocLogParser;
|
|
|
|
async function testParser() {
|
|
const parser = new SatLocLogParser();
|
|
|
|
console.log('=== Testing Corrected Implementation ===');
|
|
|
|
try {
|
|
const result = await parser.parseFile('./test-logs/Liquid_IF2_G4.log', {});
|
|
|
|
console.log('Parse completed successfully!');
|
|
console.log('Application details count:', result.applicationDetails.length);
|
|
|
|
if (result.applicationDetails.length > 0) {
|
|
const firstDetail = result.applicationDetails[0];
|
|
console.log('\n=== First Application Detail ===');
|
|
console.log('gpsTime:', firstDetail.gpsTime);
|
|
if (firstDetail.gpsTime && !isNaN(firstDetail.gpsTime)) {
|
|
console.log('gpsTime as date:', new Date(firstDetail.gpsTime * 1000).toISOString());
|
|
}
|
|
console.log('lat:', firstDetail.lat);
|
|
console.log('lon:', firstDetail.lon);
|
|
|
|
// Test a few more records to verify consistency
|
|
const sampleIndexes = [0, 100, 1000, 5000, 10000];
|
|
console.log('\n=== Sample gpsTime Values ===');
|
|
sampleIndexes.forEach(idx => {
|
|
if (idx < result.applicationDetails.length) {
|
|
const detail = result.applicationDetails[idx];
|
|
if (detail.gpsTime && !isNaN(detail.gpsTime)) {
|
|
console.log(`[${idx}] gpsTime: ${detail.gpsTime} => ${new Date(detail.gpsTime * 1000).toISOString()}`);
|
|
} else {
|
|
console.log(`[${idx}] gpsTime: ${detail.gpsTime} (invalid)`);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
console.log('\n✅ Parsing completed successfully!');
|
|
|
|
} catch (err) {
|
|
console.error('❌ Error:', err.message);
|
|
console.error(err.stack);
|
|
}
|
|
}
|
|
|
|
testParser();
|