Permalink
window.common = (function(global) { | |
const { | |
Rx: { Observable }, | |
chai, | |
common = { init: [] } | |
} = global; | |
common.runTests$ = function runTests$({ | |
code, | |
originalCode, | |
userTests, | |
...rest | |
}) { | |
return Observable.from(userTests) | |
.map(function(test) { | |
/* eslint-disable no-unused-vars */ | |
const assert = chai.assert; | |
const editor = { getValue() { return originalCode; }}; | |
/* eslint-enable no-unused-vars */ | |
try { | |
if (test) { | |
/* eslint-disable no-eval */ | |
eval(common.reassembleTest(code, test)); | |
/* eslint-enable no-eval */ | |
} | |
} catch (e) { | |
test.err = e.message; | |
} | |
return test; | |
}) | |
.toArray() | |
.map(tests => ({ ...rest, tests })); | |
}; | |
return common; | |
}(window)); |