const assert = require('assert'); const fs = require('fs'); const path = require('path'); const root = path.resolve(__dirname, '..'); const canvasHtml = fs.readFileSync(path.join(root, 'frontend', 'canvas.html'), 'utf8'); const serverPy = fs.readFileSync(path.join(root, 'backend', 'server.py'), 'utf8'); assert( canvasHtml.includes('src="/canvas-helpers.js"'), 'canvas.html should request the canvas helper script from /canvas-helpers.js' ); assert( serverPy.includes("@app.route('/canvas-helpers.js')"), 'backend/server.py should serve /canvas-helpers.js' ); assert( serverPy.includes("send_from_directory(FRONTEND_DIR, 'canvas-helpers.js')") || serverPy.includes('send_from_directory(FRONTEND_DIR, "canvas-helpers.js")'), 'the /canvas-helpers.js route should serve frontend/canvas-helpers.js' ); assert( serverPy.includes('def no_cache_response(response):'), 'canvas assets should use an explicit no-cache response helper' ); assert( serverPy.includes('Cache-Control') && serverPy.includes('no-store'), 'canvas routes should prevent stale browser caches while the editor is changing' );