{"version":3,"file":"setup-globals.cjs","sources":["../../../src/run-assertions/setup-globals.js"],"sourcesContent":["import { describe, test } from './registration.js';\nimport { beforeAll, afterAll, beforeEach, afterEach } from './hooks.js';\nimport { run } from './runner-core.js';\nimport * as matchers from '../matchers/index.js';\nimport * as fakeTimers from './fake-timers.js';\nimport { spy, fn, spyOn, mock, unmock, resetAllMocks, requireActual, requireMock, createSpy, mockReturnValue, mockImplementation, mockResolvedValue, mockRejectedValue, isMockFunction, isSpy } from '../matchers/spy.js';\nimport { enhancedExpect } from './enhanced-expect.js';\n\n\nfunction setupGlobals() {\n  global.describe = describe;\n  global.test = test;\n  global.beforeAll = beforeAll;\n  global.afterAll = afterAll;\n  global.beforeEach = beforeEach;\n  global.afterEach = afterEach;\n  global.expect = (received) => {\n    return enhancedExpect(received);\n  };\n  global.run = run;\n  global.addMatchers = matchers.addMatchers;\n  global.describe.only = describe.only;\n  global.describe.skip = describe.skip;\n  global.test.only = test.only;\n  global.test.skip = test.skip;\n  global.useFakeTimers = fakeTimers.useFakeTimers;\n  global.useRealTimers = fakeTimers.useRealTimers;\n  global.advanceTimersByTime = fakeTimers.advanceTimersByTime;\n  global.runAllTimers = fakeTimers.runAllTimers;\n  global.resetTimers = fakeTimers.resetTimers;\n  global.fn = fn;\n  global.spy = fn; // Alias spy to fn as expected by tests\n  global.createSpy = createSpy; // Also expose createSpy directly\n  global.spyOn = spyOn;\n  global.mock = mock;\n  global.unmock = unmock;\n  global.resetAllMocks = resetAllMocks;\n  global.requireActual = requireActual;\n  global.requireMock = requireMock;\n  global.mockReturnValue = mockReturnValue;\n  global.mockImplementation = mockImplementation;\n  global.mockResolvedValue = mockResolvedValue;\n  global.mockRejectedValue = mockRejectedValue;\n  global.isMockFunction = isMockFunction;\n  global.isSpy = isSpy;\n\n  global.getTimerCalls = fakeTimers.getTimerCalls;\n  global.getTimerCallCount = fakeTimers.getTimerCallCount;\n}\n\nexport default setupGlobals;\n\n// Always set up globals when imported\nif (typeof global !== 'undefined') {\n  setupGlobals();\n}\n\n// --- Fauji CLI auto-run support ---\nasync function cliAutoRun() {\n  if (process.argv[1] && process.argv[1].endsWith('setup-globals.js') && process.argv[2]) {\n    setupGlobals();\n    console.log('setupGlobals called, test global is:', typeof global.test);\n    const testFile = process.argv[2];\n    await import(new URL(testFile, `file://${process.cwd()}/`).href);\n    run();\n  }\n}\n// Only run cliAutoRun if this file is the main entry point (not when imported as a module)\nif (\n  typeof process !== 'undefined' &&\n  process.argv &&\n  import.meta && import.meta.url &&\n  process.argv[1] &&\n  import.meta.url === 'file://' + process.argv[1]\n) {\n  cliAutoRun();\n}\n"],"names":["describe","test","beforeAll","afterAll","beforeEach","afterEach","enhancedExpect","run","matchers.addMatchers","fakeTimers.useFakeTimers","fakeTimers.useRealTimers","fakeTimers.advanceTimersByTime","fakeTimers.runAllTimers","fakeTimers.resetTimers","fn","createSpy","spyOn","mock","unmock","resetAllMocks","requireActual","requireMock","mockReturnValue","mockImplementation","mockResolvedValue","mockRejectedValue","isMockFunction","isSpy","fakeTimers.getTimerCalls","fakeTimers.getTimerCallCount"],"mappings":"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"}