"use strict"; const { collect } = require("./util/collect"); const wp = require("../lib/webidl2"); const writer = require("../lib/writer"); const expect = require("expect"); const debug = true; describe("Rewrite and parses all of the IDLs to produce the same ASTs", () => { for (const test of collect("syntax")) { it(`should produce the same AST for ${test.path}`, () => { try { const diff = test.diff(wp.parse(writer.write(test.ast), test.opt)); if (diff && debug) console.log(JSON.stringify(diff, null, 4)); expect(diff).toBe(undefined); } catch (e) { console.log(e.toString()); throw e; } }); } });