All files / src/tests/common functions.js

100% Statements 15/15
100% Branches 0/0
100% Functions 8/8
100% Lines 15/15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 586x     7x       5x       4x 4x 4x       4x 4x             4x 4x 4x                 4x       9x       1x     6x                    
const cmds = require("./cmds");
 
function* basic(message) {
  return yield cmds.echo(message);
}
 
function* basicMultiArg(a, b) {
  return yield cmds.echo(a + b);
}
 
function* basicMultistep(message) {
  const s1 = yield cmds.echo(message + "1");
  const s2 = yield cmds.echo(message + "2");
  return { s1, s2 };
}
 
function* basicParallel(message) {
  const [s1, s2] = yield [cmds.echo(message), cmds.echo(message)];
  return {
    s1: s1 + "1",
    s2: s2 + "2"
  };
}
 
function* basicMultistepParallel(message) {
  const [s1, s2] = yield [cmds.echo(message), cmds.echo(message)];
  const [s3, s4] = yield [cmds.echo(message), cmds.echo(message)];
  return {
    s1: s1 + "1",
    s2: s2 + "2",
    s3: s3 + "3",
    s4: s4 + "4"
  };
}
 
function* basicEmpty() {
  return yield [];
}
 
function* usesThrowingInterpreter() {
  return yield cmds.die("oops");
}
 
function* usesRejectingInterpreter() {
  return yield cmds.dieFromRejection("oops");
}
 
module.exports = {
  basic,
  basicMultiArg,
  basicMultistep,
  basicParallel,
  basicMultistepParallel,
  basicEmpty,
  usesThrowingInterpreter,
  usesRejectingInterpreter
};