import {test} from 'node:test'; import assert from 'node:assert/strict'; import fs from 'node:fs'; import vm from 'node:vm'; import {adaptConfig} from '../runtime-config.mjs'; const source=fs.readFileSync(new URL('../../ez-theme/src/config/index.js',import.meta.url),'utf8').replace('export const config','const config'); const window={}; vm.runInNewContext(source,{window}); test('HN uses same-origin Xboard API and never inherits EZ demo services',()=>{ const config=adaptConfig(window.EZ_CONFIG,{title:'hardnerd',full_name:'hardnerd.net'},{hostname:'127.0.0.1'}); assert.equal(config.PANEL_TYPE,'Xboard'); assert.equal(config.API_CONFIG.urlMode,'auto'); assert.deepEqual(config.API_CONFIG.staticBaseUrl,[]); assert.equal(config.API_CONFIG.autoConfig.apiPath,'/api/v1'); assert.equal(config.SITE_CONFIG.siteName,'hardnerd'); assert.equal(config.CUSTOMER_SERVICE_CONFIG.enabled,false); assert.equal(config.TICKET_CONFIG.isImageHosting,false); assert.equal(config.CLIENT_CONFIG.showDownloadCard,false); assert.doesNotMatch(JSON.stringify(config),/ezdemo\.xyz|loliapi\.com|t\.me\/your_|github\.com\/xxx/); assert.equal(window.EZ_CONFIG.PANEL_TYPE,'Xiao-V2board'); });