/** * We can only make one test per file, since the debug tool modify in place * the owl object in a way that is difficult to undo. */ import { debugOwl } from "../../tools/debug"; import * as owl from "../../src/index"; import { Component, Env } from "../../src/component/component"; import { xml } from "../../src/tags"; import { makeTestFixture, makeTestEnv } from "../helpers"; let fixture: HTMLElement = makeTestFixture(); let env: Env = makeTestEnv(); Component.env = env; debugOwl(owl, { logScheduler: true }); test("can log scheduler start and stop", async () => { const steps: string[] = []; const log = console.log; console.log = arg => steps.push(arg); class Child extends Component { static template = xml`
child
`; } class Parent extends Component { static template = xml`
`; static components = { Child }; } const parent = new Parent(null, {}); await parent.mount(fixture); expect(steps).toEqual([ "[OWL_DEBUG] Parent constructor, props={}", "[OWL_DEBUG] Parent mount", "[OWL_DEBUG] Parent willStart", "[OWL_DEBUG] scheduler: start running tasks queue", "[OWL_DEBUG] Parent rendering template", "[OWL_DEBUG] Child constructor, props={}", "[OWL_DEBUG] Child willStart", "[OWL_DEBUG] Child rendering template", "[OWL_DEBUG] Child mounted", "[OWL_DEBUG] Parent mounted", "[OWL_DEBUG] scheduler: stop running tasks queue" ]); console.log = log; });