tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_group_test.ts (1128B)


      1 import { Logger, LogResults } from '../common/internal/logging/logger.js';
      2 import { TestQuerySingleCase } from '../common/internal/query/query.js';
      3 import { IterableTestGroup, TestCaseID } from '../common/internal/test_group.js';
      4 import { objectEquals } from '../common/util/util.js';
      5 
      6 import { UnitTest } from './unit_test.js';
      7 
      8 export class TestGroupTest extends UnitTest {
      9  async run(g: IterableTestGroup): Promise<LogResults> {
     10    const logger = new Logger({ overrideDebugMode: true });
     11    for (const t of g.iterate()) {
     12      for (const rc of t.iterate(null)) {
     13        const query = new TestQuerySingleCase('xx', ['yy'], rc.id.test, rc.id.params);
     14        const [rec] = logger.record(query.toString());
     15        await rc.run(rec, query, []);
     16      }
     17    }
     18    return logger.results;
     19  }
     20 
     21  expectCases(g: IterableTestGroup, cases: TestCaseID[]): void {
     22    const gcases = [];
     23    for (const t of g.iterate()) {
     24      gcases.push(...Array.from(t.iterate(null), c => c.id));
     25    }
     26    this.expect(
     27      objectEquals(gcases, cases),
     28      `expected
     29  ${JSON.stringify(cases)}
     30 got
     31  ${JSON.stringify(gcases)}`
     32    );
     33  }
     34 }