{"version":3,"file":"registration.cjs","sources":["../../../src/run-assertions/registration.js"],"sourcesContent":["import { getCurrentSuite, setCurrentSuite, Suite } from './suite.js';\n\n/**\n * Register a fixture for the current suite.\n * The fixture function can be async and may return a value or { value, teardown }.\n * Teardown will be called after the test if provided.\n */\nfunction fixture(name, fn) {\n  getCurrentSuite().fixtures[name] = fn;\n}\n\nfunction describe(desc, optionsOrFn, maybeFn) {\n  let options = {}, fn;\n  if (typeof optionsOrFn === 'function') {\n    fn = optionsOrFn;\n  } else {\n    options = optionsOrFn || {};\n    fn = maybeFn;\n  }\n  return _describe(desc, fn, 'normal', options.annotations);\n}\n\ndescribe.only = (desc, optionsOrFn, maybeFn) => {\n  let options = {}, fn;\n  if (typeof optionsOrFn === 'function') {\n    fn = optionsOrFn;\n  } else {\n    options = optionsOrFn || {};\n    fn = maybeFn;\n  }\n  return _describe(desc, fn, 'only', options.annotations);\n};\n\ndescribe.skip = (desc, optionsOrFn, maybeFn) => {\n  let options = {}, fn;\n  if (typeof optionsOrFn === 'function') {\n    fn = optionsOrFn;\n  } else {\n    options = optionsOrFn || {};\n    fn = maybeFn;\n  }\n  return _describe(desc, fn, 'skip', options.annotations);\n};\n\nfunction _describe(desc, fn, mode, annotations) {\n  const suite = new Suite(desc, mode, annotations || {});\n  suite.parent = getCurrentSuite();\n  getCurrentSuite().suites.push(suite);\n  setCurrentSuite(suite);\n  fn();\n  setCurrentSuite(suite.parent);\n}\n\nfunction test(desc, optionsOrFn, maybeFn) {\n  let options = {}, fn;\n  if (typeof optionsOrFn === 'function') {\n    fn = optionsOrFn;\n  } else {\n    options = optionsOrFn || {};\n    fn = maybeFn;\n  }\n  return _test(desc, fn, 'normal', options);\n}\n\ntest.only = (desc, optionsOrFn, maybeFn) => {\n  let options = {}, fn;\n  if (typeof optionsOrFn === 'function') {\n    fn = optionsOrFn;\n  } else {\n    options = optionsOrFn || {};\n    fn = maybeFn;\n  }\n  return _test(desc, fn, 'only', options);\n};\n\ntest.skip = (desc, optionsOrFn, maybeFn) => {\n  let options = {}, fn;\n  if (typeof optionsOrFn === 'function') {\n    fn = optionsOrFn;\n  } else {\n    options = optionsOrFn || {};\n    fn = maybeFn;\n  }\n  return _test(desc, fn, 'skip', options);\n};\n\nfunction _test(desc, fn, mode, options) {\n  getCurrentSuite().tests.push({\n    desc,\n    fn,\n    mode,\n    fixtures: options.fixtures || [],\n    annotations: options.annotations || {},\n  });\n}\n\nexport { describe, test }; "],"names":["suite","Suite","getCurrentSuite","setCurrentSuite"],"mappings":"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"}