Fix Node.js test runner with CommonJS exports
This commit is contained in:
@@ -330,3 +330,8 @@ const INTEGRATION_TESTS = [
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
// Export for Node.js (CommonJS)
|
||||
if (typeof module !== 'undefined' && module.exports) {
|
||||
module.exports = { TEST_CASES, INTEGRATION_TESTS };
|
||||
}
|
||||
|
||||
@@ -3,39 +3,25 @@
|
||||
// Node.js Test Runner for Dragon Code V2.6
|
||||
// Loads all dependencies and runs tests in Node environment
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// Simulate browser environment
|
||||
global.window = {};
|
||||
const fs = require('fs');
|
||||
|
||||
// Load dependencies
|
||||
function loadScript(filename) {
|
||||
const filepath = path.join(__dirname, '..', filename);
|
||||
const content = fs.readFileSync(filepath, 'utf8');
|
||||
eval(content);
|
||||
}
|
||||
const { SPECIES_DATA, resolveSpeciesCode } = require('../js/species-data.js');
|
||||
const { TAG_DESCRIPTIONS } = require('../js/tags-data.js');
|
||||
const { parseDragonCode } = require('../js/parser.js');
|
||||
const { decodeDragonCode } = require('../js/decoder.js');
|
||||
const { TEST_CASES, INTEGRATION_TESTS } = require('./test-data.js');
|
||||
const { TestRunner } = require('./test-runner.js');
|
||||
|
||||
// Load all JS files
|
||||
try {
|
||||
loadScript('js/species-data.js');
|
||||
loadScript('js/tags-data.js');
|
||||
loadScript('js/parser.js');
|
||||
loadScript('js/decoder.js');
|
||||
|
||||
// Load test files
|
||||
const testDataPath = path.join(__dirname, 'test-data.js');
|
||||
const testData = fs.readFileSync(testDataPath, 'utf8');
|
||||
eval(testData);
|
||||
|
||||
const testRunnerPath = path.join(__dirname, 'test-runner.js');
|
||||
const testRunner = fs.readFileSync(testRunnerPath, 'utf8');
|
||||
eval(testRunner);
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error loading scripts:', error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
// Make globally accessible for test runner compatibility
|
||||
global.SPECIES_DATA = SPECIES_DATA;
|
||||
global.resolveSpeciesCode = resolveSpeciesCode;
|
||||
global.TAG_DESCRIPTIONS = TAG_DESCRIPTIONS;
|
||||
global.parseDragonCode = parseDragonCode;
|
||||
global.decodeDragonCode = decodeDragonCode;
|
||||
global.TEST_CASES = TEST_CASES;
|
||||
global.INTEGRATION_TESTS = INTEGRATION_TESTS;
|
||||
|
||||
// Run tests
|
||||
console.log('='.repeat(80));
|
||||
|
||||
@@ -282,3 +282,8 @@ class TestRunner {
|
||||
if (typeof window !== 'undefined') {
|
||||
window.TestRunner = TestRunner;
|
||||
}
|
||||
|
||||
// Export for Node.js (CommonJS)
|
||||
if (typeof module !== 'undefined' && module.exports) {
|
||||
module.exports = { TestRunner };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user