{"version":3,"sources":["common/appContext/spec/eventBusSpec.ts"],"names":[],"mappings":"","file":"../../../../common/appContext/spec/eventBusSpec.d.ts","sourcesContent":["import { BusEvent, EventBus, getBus } from '../eventBus.js';\n\ndescribe('the eventBus', () => {\n  let bus: EventBus = null;\n\n  beforeAll(async () => {\n    bus = await getBus();\n    expect(bus).not.toBeNull();\n  });\n\n  it('can add and remove listeners', async () => {\n    expect(bus).not.toBeNull();\n    const listener = () => null;\n    expect(bus.addListener('little-test/eventBusSpec', listener)).toBe(true);\n    expect(bus.addListener('little-test/eventBusSpec', listener)).toBe(false);\n    expect(bus.removeListener('little-test/eventBusSpec', listener)).toBe(true);\n    expect(bus.removeListener('little-test/eventBusSpec', listener)).toBe(false);\n  });\n\n  it('can dispatch events with some data', (done) => {\n    expect(bus).not.toBeNull();\n    const testType = 'eventBusSpec2';\n    const testData = { a: 'whatever' };\n    let counter = 0;\n\n    const addListener = () => {\n      const listener = (ev: BusEvent) => {\n        expect(ev.evType).toBe(testType);\n        expect(ev.data).toEqual(testData);\n        expect(counter).toBeGreaterThan(0); // dispatch is async\n        expect(typeof listener).toBe('function');\n        expect(bus.removeListener(testType, listener)).toBe(true);\n        counter += 1;\n        if (counter === 2) {\n          done();\n        }\n      };\n      expect(bus.addListener(testType, listener)).toBe(true);\n      return listener;\n    };\n\n    addListener();\n    addListener();\n    bus.dispatch(testType, testData);\n    expect(counter).toBe(0);\n    counter += 1;\n  });\n});\n"]}