// 실행: NODE_PATH=/node_modules CHROME_PATH= node tests/shop_category_layout.js const fs = require('fs'); const path = require('path'); const assert = require('assert'); const {execFileSync} = require('child_process'); const {chromium} = require('playwright'); const root = path.dirname(__dirname); const read = file => fs.readFileSync(path.join(root, file), 'utf8'); const fixtures = JSON.parse(execFileSync('php', [path.join(__dirname, 'shop_category_navigation.php'), '--json'], {encoding:'utf8'})); (async () => { const browser = await chromium.launch({headless:true, ...(process.env.CHROME_PATH ? {executablePath:process.env.CHROME_PATH} : {}), args:['--no-sandbox']}); try { for (const skin of ['skin/shop/basic', 'theme/basic/skin/shop/basic']) { for (const view of ['list', 'item']) { const page = await browser.newPage({viewport:{width:1920, height:1080}}); let baseline; for (const id of ['10', '101010', '10101010', '1010101010']) { let html = fixtures[skin][id].replace(/