Module RargTests.TestFramework

let projectDir: string;
include RelyInternal__RelyAPI.TestFramework;
module Mock: RelyInternal__RelyAPI.Mock.Sig;
type describeUtils('ext, 'env) = RelyInternal__Describe.describeUtils('ext'env) = {
describe: describeFn('ext'env),
describeSkip: describeFn('ext'env),
describeOnly: describeFn('ext'env),
test: RelyInternal.Test.testFn('ext'env),
testSkip: RelyInternal.Test.testFn('ext'env),
testOnly: RelyInternal.Test.testFn('ext'env),
};
and describeFn('ext, 'env) = string => (describeUtils('ext'env) => unit) => unit;
type extensionResult('ext, 'env) = RelyInternal__Describe.extensionResult('ext'env) = {
describe: describeFn('ext'env),
describeSkip: describeFn('ext'env),
describeOnly: describeFn('ext'env),
};
type matchers('ext) = RelyInternal__Test.matchers('ext) = {
string: string => RelyInternal.StringMatchers.stringMatchersWithNot,
file: string => RelyInternal.StringMatchers.stringMatchersWithNot,
lines: list(string) => RelyInternal.StringMatchers.stringMatchersWithNot,
bool: bool => RelyInternal.BoolMatchers.boolMatchersWithNot,
int: int => RelyInternal.IntMatchers.intMatchersWithNot,
float: float => RelyInternal.FloatMatchers.floatMatchersWithNot,
fn: a. (unit => 'a) => RelyInternal.FnMatchers.fnMatchersWithNot,
list: a. list('a) => RelyInternal.ListMatchers.matchersWithNot('a),
array: a. array('a) => RelyInternal.ArrayMatchers.matchersWithNot('a),
equal: a. RelyInternal.EqualsMatcher.equalsMatcher('a),
notEqual: a. RelyInternal.EqualsMatcher.equalsMatcher('a),
same: a. RelyInternal.SameMatcher.sameMatcher('a),
notSame: a. RelyInternal.SameMatcher.sameMatcher('a),
mock: fn ret tupledArgs. RelyInternal.Mock.t('fn'ret'tupledArgs) => RelyInternal.MockMatchers.matchersWithNot('tupledArgs'ret),
option: a. option('a) => RelyInternal.OptionMatchers.optionMatchersWithNot('a),
result: a b. Stdlib.result('a'b) => RelyInternal.ResultMatchers.resultMatchersWithNot('a'b),
ext: 'ext,
assertions: int => unit,
hasAssertions: unit => unit,
};
type testUtils('ext, 'env) = RelyInternal__Test.testUtils('ext'env) = {
expect: matchers('ext),
env: 'env,
};
type testFn('ext, 'env) = string => (testUtils('ext'env) => unit) => unit;
let describe: RelyInternal__RelyAPI.Describe.describeFn(unit, unit);
let describeSkip: RelyInternal__RelyAPI.Describe.describeFn(unit, unit);
let describeOnly: RelyInternal__RelyAPI.Describe.describeFn(unit, unit);
let run: RelyInternal__RelyAPI.RunConfig.t => unit;
let cli: unit => unit;
let toLibrary: unit => RelyInternal__RelyAPI.testLibrary;
let testLifecycle: RelyInternal.TestLifecycle.defaultLifecycle;
let beforeAll: (unit => 'all) => RelyInternal.TestLifecycle.t(RelyInternal.TestLifecycle.beforeAllNotCalled, RelyInternal.TestLifecycle.afterAllNotCalled, RelyInternal.TestLifecycle.beforeEachNotCalled, RelyInternal.TestLifecycle.afterEachNotCalled, 'oldAll'each) => RelyInternal.TestLifecycle.t(RelyInternal.TestLifecycle.beforeAllCalled, RelyInternal.TestLifecycle.afterAllNotCalled, RelyInternal.TestLifecycle.beforeEachNotCalled, RelyInternal.TestLifecycle.afterEachNotCalled, 'all'all);
let afterAll: ('all => unit) => RelyInternal.TestLifecycle.t('beforeAllCalled, RelyInternal.TestLifecycle.afterAllNotCalled, 'beforeEachCalled'afterEachCalled'all'each) => RelyInternal.TestLifecycle.t('beforeAllCalled, RelyInternal.TestLifecycle.afterAllCalled, 'beforeEachCalled'afterEachCalled'all'each);
let beforeEach: ('all => 'each) => RelyInternal.TestLifecycle.t('beforeAllCalled'afterAllCalled, RelyInternal.TestLifecycle.beforeEachNotCalled, RelyInternal.TestLifecycle.afterEachNotCalled, 'all'oldEach) => RelyInternal.TestLifecycle.t('beforeAllCalled'afterAllCalled, RelyInternal.TestLifecycle.beforeEachCalled, RelyInternal.TestLifecycle.afterEachNotCalled, 'all'each);
let afterEach: ('each => unit) => RelyInternal.TestLifecycle.t('beforeAllCalled'afterAllCalled'beforeEachCalled, RelyInternal.TestLifecycle.afterEachNotCalled, 'all'each) => RelyInternal.TestLifecycle.t('beforeAllCalled'afterAllCalled'beforeEachCalled, RelyInternal.TestLifecycle.afterEachCalled, 'all'each);
type describeConfig('ext, 'env);
let withLifecycle: (RelyInternal.TestLifecycle.defaultLifecycle => RelyInternal.TestLifecycle.t('a'b'c'd'e'env)) => describeConfig('ext, unit) => describeConfig('ext'env);
let withCustomMatchers: RelyInternal__RelyAPI.MatcherTypes.matchersExtensionFn('ext) => describeConfig(unit, 'env) => describeConfig('ext'env);
let describeConfig: describeConfig(unit, unit);
let extendDescribe: RelyInternal__RelyAPI.MatcherTypes.matchersExtensionFn('ext) => extensionResult('ext, unit);
let build: describeConfig('ext'env) => extensionResult('ext'env);