exl100

Émulateur Exelvision EXL 100 (1984) dans le navigateur : dsp-cpp en WebAssembly, cartouches et cassettes BASIC
git clone https://git.schurger.org/exl100.git
Log | Files | Refs | README

modal-close.mjs (1522B)


      1 // Les dialogues s'ouvrent ET se ferment (croix) : Programmes, Exelmémoire, Disquette ; fermés = invisibles.
      2 //   node test/modal-close.mjs [base-url]
      3 import { open, sleep } from './cdp.mjs';
      4 const base = process.argv[2] ?? 'http://127.0.0.1:8196';
      5 const page = await open(base + '/', { width: 900, height: 900 });
      6 await sleep(6000);
      7 const vis = (id) => page.evaluate(`(() => { const d = document.getElementById(${JSON.stringify(id)}); const r = d.getBoundingClientRect(); return { open: d.open, visible: getComputedStyle(d).display !== 'none' && r.height > 0 }; })()`);
      8 console.log('au départ :', JSON.stringify({ programmes: await vis('modal'), exelmem: await vis('cram-modal'), disque: await vis('disk-modal') }));
      9 await page.evaluate("document.getElementById('pick').click()"); await sleep(300);
     10 const o1 = await vis('modal');
     11 await page.evaluate("document.querySelector('#modal .x').click()"); await sleep(300);
     12 const c1 = await vis('modal');
     13 await page.evaluate("document.getElementById('cram-open').click()"); await sleep(300);
     14 const o2 = await vis('cram-modal');
     15 await page.evaluate("document.getElementById('cram-modal-close').click()"); await sleep(300);
     16 const c2 = await vis('cram-modal');
     17 console.log('Programmes ouverte/fermée :', JSON.stringify(o1), JSON.stringify(c1));
     18 console.log('Exelmémoire ouverte/fermée :', JSON.stringify(o2), JSON.stringify(c2));
     19 const ok = o1.visible && !c1.visible && o2.visible && !c2.visible;
     20 console.log(ok ? 'OK : les dialogues se ferment' : 'PROBLÈME');
     21 page.close();