UNPKG

lib-songbeamer

Version:

transforming SongBeamer Song-Files and Ablaufplan-Files

997 lines 64.9 kB
<!doctype html>
<html lang="en"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Mochawesome Report</title><link rel="stylesheet" href="assets/app.css"/></head><body data-raw="{
  &quot;stats&quot;: {
    &quot;suites&quot;: 11,
    &quot;tests&quot;: 8,
    &quot;passes&quot;: 8,
    &quot;pending&quot;: 0,
    &quot;failures&quot;: 0,
    &quot;start&quot;: &quot;2018-01-05T10:26:36.649Z&quot;,
    &quot;end&quot;: &quot;2018-01-05T10:26:36.718Z&quot;,
    &quot;duration&quot;: 69,
    &quot;testsRegistered&quot;: 8,
    &quot;passPercent&quot;: 100,
    &quot;pendingPercent&quot;: 0,
    &quot;other&quot;: 0,
    &quot;hasOther&quot;: false,
    &quot;skipped&quot;: 0,
    &quot;hasSkipped&quot;: false,
    &quot;passPercentClass&quot;: &quot;success&quot;,
    &quot;pendingPercentClass&quot;: &quot;danger&quot;
  },
  &quot;suites&quot;: {
    &quot;title&quot;: &quot;&quot;,
    &quot;suites&quot;: [
      {
        &quot;title&quot;: &quot;UT02: lib-ablauf&quot;,
        &quot;suites&quot;: [
          {
            &quot;title&quot;: &quot;UT02-01: toJson&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT02-01-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT02: lib-ablauf UT02-01: toJson UT02-01-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 13,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    ablauf.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let aj = JSON.parse(ablaufjson)\n            assert.deepEqual(json, aj.items)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;5934ebd9-9ac0-4c3b-9a9c-6af2beac5e4b&quot;,
                &quot;parentUUID&quot;: &quot;86edb984-5746-427f-8d7e-b9d303ceec6e&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.ablauf.js&quot;,
            &quot;uuid&quot;: &quot;86edb984-5746-427f-8d7e-b9d303ceec6e&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.ablauf.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT02-01-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT02: lib-ablauf UT02-01: toJson UT02-01-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 13,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    ablauf.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let aj = JSON.parse(ablaufjson)\n            assert.deepEqual(json, aj.items)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;5934ebd9-9ac0-4c3b-9a9c-6af2beac5e4b&quot;,
                &quot;parentUUID&quot;: &quot;86edb984-5746-427f-8d7e-b9d303ceec6e&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 13,
            &quot;rootEmpty&quot;: false
          },
          {
            &quot;title&quot;: &quot;UT02-02: toFile&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT02-02-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT02: lib-ablauf UT02-02: toFile UT02-02-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 3,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    ablauf.toFile(aj.items, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, ablauftext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;6b27cba2-caed-4928-b8cc-f64a7cc5e1a0&quot;,
                &quot;parentUUID&quot;: &quot;28520a7a-5312-43a3-9901-d90bd412f290&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.ablauf.js&quot;,
            &quot;uuid&quot;: &quot;28520a7a-5312-43a3-9901-d90bd412f290&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.ablauf.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT02-02-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT02: lib-ablauf UT02-02: toFile UT02-02-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 3,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    ablauf.toFile(aj.items, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, ablauftext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;6b27cba2-caed-4928-b8cc-f64a7cc5e1a0&quot;,
                &quot;parentUUID&quot;: &quot;28520a7a-5312-43a3-9901-d90bd412f290&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 3,
            &quot;rootEmpty&quot;: false
          }
        ],
        &quot;tests&quot;: [],
        &quot;pending&quot;: [],
        &quot;root&quot;: false,
        &quot;_timeout&quot;: 2000,
        &quot;file&quot;: &quot;/tests/test.ablauf.js&quot;,
        &quot;uuid&quot;: &quot;e9993fdf-3d1a-4e9c-9b0e-e30d3f14636e&quot;,
        &quot;beforeHooks&quot;: [],
        &quot;afterHooks&quot;: [],
        &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.ablauf.js&quot;,
        &quot;passes&quot;: [],
        &quot;failures&quot;: [],
        &quot;skipped&quot;: [],
        &quot;hasBeforeHooks&quot;: false,
        &quot;hasAfterHooks&quot;: false,
        &quot;hasTests&quot;: false,
        &quot;hasSuites&quot;: true,
        &quot;totalTests&quot;: 0,
        &quot;totalPasses&quot;: 0,
        &quot;totalFailures&quot;: 0,
        &quot;totalPending&quot;: 0,
        &quot;totalSkipped&quot;: 0,
        &quot;hasPasses&quot;: false,
        &quot;hasFailures&quot;: false,
        &quot;hasPending&quot;: false,
        &quot;hasSkipped&quot;: false,
        &quot;duration&quot;: 0,
        &quot;rootEmpty&quot;: false
      },
      {
        &quot;title&quot;: &quot;UT03: lib-songbeamer (full module)&quot;,
        &quot;suites&quot;: [
          {
            &quot;title&quot;: &quot;UT03-01: AblauftoJson&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT03-01-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-01: AblauftoJson UT03-01-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 3,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;lsb.ablauf2JSON(&#x27;./tests/data/ablauf.col&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let aj = JSON.parse(ablaufjson)\n        assert.deepEqual(json, aj)\n        done()\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;1b89621d-3ade-4485-bd92-65204668f4ed&quot;,
                &quot;parentUUID&quot;: &quot;6a92b1ea-8dfa-4ced-b47d-73b5fb1b051e&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.index.js&quot;,
            &quot;uuid&quot;: &quot;6a92b1ea-8dfa-4ced-b47d-73b5fb1b051e&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.index.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT03-01-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-01: AblauftoJson UT03-01-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 3,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;lsb.ablauf2JSON(&#x27;./tests/data/ablauf.col&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let aj = JSON.parse(ablaufjson)\n        assert.deepEqual(json, aj)\n        done()\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;1b89621d-3ade-4485-bd92-65204668f4ed&quot;,
                &quot;parentUUID&quot;: &quot;6a92b1ea-8dfa-4ced-b47d-73b5fb1b051e&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 3,
            &quot;rootEmpty&quot;: false
          },
          {
            &quot;title&quot;: &quot;UT03-02: AblauftoFile&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT03-02-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-02: AblauftoFile UT03-02-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 15,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    lsb.json2Ablauf(aj, &#x27;./tests/tmp/ablauf.col&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, ablauftext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;97c88a34-0f9a-4a45-a77f-27c2073a9c99&quot;,
                &quot;parentUUID&quot;: &quot;3cad57d0-8472-4da5-bbe3-725690b86fd0&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.index.js&quot;,
            &quot;uuid&quot;: &quot;3cad57d0-8472-4da5-bbe3-725690b86fd0&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.index.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT03-02-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-02: AblauftoFile UT03-02-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 15,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    lsb.json2Ablauf(aj, &#x27;./tests/tmp/ablauf.col&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, ablauftext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;97c88a34-0f9a-4a45-a77f-27c2073a9c99&quot;,
                &quot;parentUUID&quot;: &quot;3cad57d0-8472-4da5-bbe3-725690b86fd0&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 15,
            &quot;rootEmpty&quot;: false
          },
          {
            &quot;title&quot;: &quot;UT03-03: SongtoJson&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT03-03-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-03: SongtoJson UT03-03-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 6,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;lsb.song2JSON(&#x27;./tests/data/song.sng&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let sj = JSON.parse(songjson)\n        assert.deepEqual(json, sj)\n        done()\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;692da6da-5cf1-4850-aaf8-224e006ad433&quot;,
                &quot;parentUUID&quot;: &quot;34dafd85-5b4f-42dc-834c-14cf28b92b51&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.index.js&quot;,
            &quot;uuid&quot;: &quot;34dafd85-5b4f-42dc-834c-14cf28b92b51&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.index.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT03-03-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-03: SongtoJson UT03-03-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 6,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;lsb.song2JSON(&#x27;./tests/data/song.sng&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let sj = JSON.parse(songjson)\n        assert.deepEqual(json, sj)\n        done()\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;692da6da-5cf1-4850-aaf8-224e006ad433&quot;,
                &quot;parentUUID&quot;: &quot;34dafd85-5b4f-42dc-834c-14cf28b92b51&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 6,
            &quot;rootEmpty&quot;: false
          },
          {
            &quot;title&quot;: &quot;UT03-04: SongtoFile&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT03-04-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-04: SongtoFile UT03-04-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 7,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    lsb.json2Song(sj, &#x27;./tests/tmp/song.sng&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/song.sng&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, songtext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;96591df7-8b8f-4d1d-b1ad-7eadd6c05116&quot;,
                &quot;parentUUID&quot;: &quot;af5da200-fa98-4013-8519-e812f52a66c8&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.index.js&quot;,
            &quot;uuid&quot;: &quot;af5da200-fa98-4013-8519-e812f52a66c8&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.index.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT03-04-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT03: lib-songbeamer (full module) UT03-04: SongtoFile UT03-04-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 7,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    lsb.json2Song(sj, &#x27;./tests/tmp/song.sng&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/song.sng&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, songtext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;96591df7-8b8f-4d1d-b1ad-7eadd6c05116&quot;,
                &quot;parentUUID&quot;: &quot;af5da200-fa98-4013-8519-e812f52a66c8&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 7,
            &quot;rootEmpty&quot;: false
          }
        ],
        &quot;tests&quot;: [],
        &quot;pending&quot;: [],
        &quot;root&quot;: false,
        &quot;_timeout&quot;: 2000,
        &quot;file&quot;: &quot;/tests/test.index.js&quot;,
        &quot;uuid&quot;: &quot;3011de0e-4c74-4e1c-891b-bca15992b525&quot;,
        &quot;beforeHooks&quot;: [],
        &quot;afterHooks&quot;: [],
        &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.index.js&quot;,
        &quot;passes&quot;: [],
        &quot;failures&quot;: [],
        &quot;skipped&quot;: [],
        &quot;hasBeforeHooks&quot;: false,
        &quot;hasAfterHooks&quot;: false,
        &quot;hasTests&quot;: false,
        &quot;hasSuites&quot;: true,
        &quot;totalTests&quot;: 0,
        &quot;totalPasses&quot;: 0,
        &quot;totalFailures&quot;: 0,
        &quot;totalPending&quot;: 0,
        &quot;totalSkipped&quot;: 0,
        &quot;hasPasses&quot;: false,
        &quot;hasFailures&quot;: false,
        &quot;hasPending&quot;: false,
        &quot;hasSkipped&quot;: false,
        &quot;duration&quot;: 0,
        &quot;rootEmpty&quot;: false
      },
      {
        &quot;title&quot;: &quot;UT01: lib-song&quot;,
        &quot;suites&quot;: [
          {
            &quot;title&quot;: &quot;UT01-01: toJson&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT01-01-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT01: lib-song UT01-01: toJson UT01-01-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 4,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    song.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let sj = JSON.parse(songjson)\n            assert.deepEqual(json, sj)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;dc02fb53-0362-4134-974b-5b626d8bca32&quot;,
                &quot;parentUUID&quot;: &quot;a02f3c55-4320-4146-98a6-a97af459a6c6&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.song.js&quot;,
            &quot;uuid&quot;: &quot;a02f3c55-4320-4146-98a6-a97af459a6c6&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.song.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT01-01-01: json from file should match json&quot;,
                &quot;fullTitle&quot;: &quot;UT01: lib-song UT01-01: toJson UT01-01-01: json from file should match json&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 4,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    song.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let sj = JSON.parse(songjson)\n            assert.deepEqual(json, sj)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;dc02fb53-0362-4134-974b-5b626d8bca32&quot;,
                &quot;parentUUID&quot;: &quot;a02f3c55-4320-4146-98a6-a97af459a6c6&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 4,
            &quot;rootEmpty&quot;: false
          },
          {
            &quot;title&quot;: &quot;UT01-02: toFile&quot;,
            &quot;suites&quot;: [],
            &quot;tests&quot;: [
              {
                &quot;title&quot;: &quot;UT01-02-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT01: lib-song UT01-02: toFile UT01-02-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 2,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    song.toFile(sj, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, songtext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;65536dbc-3549-4631-8300-d5bc315511a4&quot;,
                &quot;parentUUID&quot;: &quot;430a40bd-b742-4ef5-87f4-8fdb2288ed1b&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;pending&quot;: [],
            &quot;root&quot;: false,
            &quot;_timeout&quot;: 2000,
            &quot;file&quot;: &quot;/tests/test.song.js&quot;,
            &quot;uuid&quot;: &quot;430a40bd-b742-4ef5-87f4-8fdb2288ed1b&quot;,
            &quot;beforeHooks&quot;: [],
            &quot;afterHooks&quot;: [],
            &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.song.js&quot;,
            &quot;passes&quot;: [
              {
                &quot;title&quot;: &quot;UT01-02-01: string from json should match file&quot;,
                &quot;fullTitle&quot;: &quot;UT01: lib-song UT01-02: toFile UT01-02-01: string from json should match file&quot;,
                &quot;timedOut&quot;: false,
                &quot;duration&quot;: 2,
                &quot;state&quot;: &quot;passed&quot;,
                &quot;speed&quot;: &quot;fast&quot;,
                &quot;pass&quot;: true,
                &quot;fail&quot;: false,
                &quot;pending&quot;: false,
                &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    song.toFile(sj, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, songtext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
                &quot;err&quot;: {},
                &quot;isRoot&quot;: false,
                &quot;uuid&quot;: &quot;65536dbc-3549-4631-8300-d5bc315511a4&quot;,
                &quot;parentUUID&quot;: &quot;430a40bd-b742-4ef5-87f4-8fdb2288ed1b&quot;,
                &quot;isHook&quot;: false,
                &quot;skipped&quot;: false
              }
            ],
            &quot;failures&quot;: [],
            &quot;skipped&quot;: [],
            &quot;hasBeforeHooks&quot;: false,
            &quot;hasAfterHooks&quot;: false,
            &quot;hasTests&quot;: true,
            &quot;hasSuites&quot;: false,
            &quot;totalTests&quot;: 1,
            &quot;totalPasses&quot;: 1,
            &quot;totalFailures&quot;: 0,
            &quot;totalPending&quot;: 0,
            &quot;totalSkipped&quot;: 0,
            &quot;hasPasses&quot;: true,
            &quot;hasFailures&quot;: false,
            &quot;hasPending&quot;: false,
            &quot;hasSkipped&quot;: false,
            &quot;duration&quot;: 2,
            &quot;rootEmpty&quot;: false
          }
        ],
        &quot;tests&quot;: [],
        &quot;pending&quot;: [],
        &quot;root&quot;: false,
        &quot;_timeout&quot;: 2000,
        &quot;file&quot;: &quot;/tests/test.song.js&quot;,
        &quot;uuid&quot;: &quot;0bca5ebb-7bcd-4b93-81d7-2f451e4db7c4&quot;,
        &quot;beforeHooks&quot;: [],
        &quot;afterHooks&quot;: [],
        &quot;fullFile&quot;: &quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/tests/test.song.js&quot;,
        &quot;passes&quot;: [],
        &quot;failures&quot;: [],
        &quot;skipped&quot;: [],
        &quot;hasBeforeHooks&quot;: false,
        &quot;hasAfterHooks&quot;: false,
        &quot;hasTests&quot;: false,
        &quot;hasSuites&quot;: true,
        &quot;totalTests&quot;: 0,
        &quot;totalPasses&quot;: 0,
        &quot;totalFailures&quot;: 0,
        &quot;totalPending&quot;: 0,
        &quot;totalSkipped&quot;: 0,
        &quot;hasPasses&quot;: false,
        &quot;hasFailures&quot;: false,
        &quot;hasPending&quot;: false,
        &quot;hasSkipped&quot;: false,
        &quot;duration&quot;: 0,
        &quot;rootEmpty&quot;: false
      }
    ],
    &quot;tests&quot;: [],
    &quot;pending&quot;: [],
    &quot;root&quot;: true,
    &quot;_timeout&quot;: 2000,
    &quot;uuid&quot;: &quot;8f6457ce-e08f-4b42-adaa-24aa40054ff6&quot;,
    &quot;beforeHooks&quot;: [],
    &quot;afterHooks&quot;: [],
    &quot;fullFile&quot;: &quot;&quot;,
    &quot;file&quot;: &quot;&quot;,
    &quot;passes&quot;: [],
    &quot;failures&quot;: [],
    &quot;skipped&quot;: [],
    &quot;hasBeforeHooks&quot;: false,
    &quot;hasAfterHooks&quot;: false,
    &quot;hasTests&quot;: false,
    &quot;hasSuites&quot;: true,
    &quot;totalTests&quot;: 0,
    &quot;totalPasses&quot;: 0,
    &quot;totalFailures&quot;: 0,
    &quot;totalPending&quot;: 0,
    &quot;totalSkipped&quot;: 0,
    &quot;hasPasses&quot;: false,
    &quot;hasFailures&quot;: false,
    &quot;hasPending&quot;: false,
    &quot;hasSkipped&quot;: false,
    &quot;duration&quot;: 0,
    &quot;rootEmpty&quot;: true
  },
  &quot;allTests&quot;: [
    {
      &quot;title&quot;: &quot;UT02-01-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT02-01: toJson UT02-01-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 13,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    ablauf.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let aj = JSON.parse(ablaufjson)\n            assert.deepEqual(json, aj.items)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;5934ebd9-9ac0-4c3b-9a9c-6af2beac5e4b&quot;,
      &quot;parentUUID&quot;: &quot;86edb984-5746-427f-8d7e-b9d303ceec6e&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT02-02-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT02-02: toFile UT02-02-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 3,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    ablauf.toFile(aj.items, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, ablauftext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;6b27cba2-caed-4928-b8cc-f64a7cc5e1a0&quot;,
      &quot;parentUUID&quot;: &quot;28520a7a-5312-43a3-9901-d90bd412f290&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-01-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT03-01: AblauftoJson UT03-01-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 3,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;lsb.ablauf2JSON(&#x27;./tests/data/ablauf.col&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let aj = JSON.parse(ablaufjson)\n        assert.deepEqual(json, aj)\n        done()\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;1b89621d-3ade-4485-bd92-65204668f4ed&quot;,
      &quot;parentUUID&quot;: &quot;6a92b1ea-8dfa-4ced-b47d-73b5fb1b051e&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-02-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT03-02: AblauftoFile UT03-02-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 15,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    lsb.json2Ablauf(aj, &#x27;./tests/tmp/ablauf.col&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, ablauftext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;97c88a34-0f9a-4a45-a77f-27c2073a9c99&quot;,
      &quot;parentUUID&quot;: &quot;3cad57d0-8472-4da5-bbe3-725690b86fd0&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-03-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT03-03: SongtoJson UT03-03-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 6,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;lsb.song2JSON(&#x27;./tests/data/song.sng&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let sj = JSON.parse(songjson)\n        assert.deepEqual(json, sj)\n        done()\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;692da6da-5cf1-4850-aaf8-224e006ad433&quot;,
      &quot;parentUUID&quot;: &quot;34dafd85-5b4f-42dc-834c-14cf28b92b51&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-04-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT03-04: SongtoFile UT03-04-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 7,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    lsb.json2Song(sj, &#x27;./tests/tmp/song.sng&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/song.sng&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, songtext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;96591df7-8b8f-4d1d-b1ad-7eadd6c05116&quot;,
      &quot;parentUUID&quot;: &quot;af5da200-fa98-4013-8519-e812f52a66c8&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT01-01-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT01-01: toJson UT01-01-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 4,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    song.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let sj = JSON.parse(songjson)\n            assert.deepEqual(json, sj)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;dc02fb53-0362-4134-974b-5b626d8bca32&quot;,
      &quot;parentUUID&quot;: &quot;a02f3c55-4320-4146-98a6-a97af459a6c6&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT01-02-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT01-02: toFile UT01-02-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 2,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    song.toFile(sj, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, songtext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;65536dbc-3549-4631-8300-d5bc315511a4&quot;,
      &quot;parentUUID&quot;: &quot;430a40bd-b742-4ef5-87f4-8fdb2288ed1b&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    }
  ],
  &quot;allPending&quot;: [],
  &quot;allPasses&quot;: [
    {
      &quot;title&quot;: &quot;UT02-01-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT02-01: toJson UT02-01-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 13,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    ablauf.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let aj = JSON.parse(ablaufjson)\n            assert.deepEqual(json, aj.items)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;5934ebd9-9ac0-4c3b-9a9c-6af2beac5e4b&quot;,
      &quot;parentUUID&quot;: &quot;86edb984-5746-427f-8d7e-b9d303ceec6e&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT02-02-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT02-02: toFile UT02-02-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 3,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    ablauf.toFile(aj.items, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, ablauftext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;6b27cba2-caed-4928-b8cc-f64a7cc5e1a0&quot;,
      &quot;parentUUID&quot;: &quot;28520a7a-5312-43a3-9901-d90bd412f290&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-01-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT03-01: AblauftoJson UT03-01-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 3,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;lsb.ablauf2JSON(&#x27;./tests/data/ablauf.col&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, ablaufjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let aj = JSON.parse(ablaufjson)\n        assert.deepEqual(json, aj)\n        done()\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;1b89621d-3ade-4485-bd92-65204668f4ed&quot;,
      &quot;parentUUID&quot;: &quot;6a92b1ea-8dfa-4ced-b47d-73b5fb1b051e&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-02-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT03-02: AblauftoFile UT03-02-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 15,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/ablauf.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var aj = JSON.parse(data)\n    lsb.json2Ablauf(aj, &#x27;./tests/tmp/ablauf.col&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, ablauftext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/ablauf.col&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, ablauftext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;97c88a34-0f9a-4a45-a77f-27c2073a9c99&quot;,
      &quot;parentUUID&quot;: &quot;3cad57d0-8472-4da5-bbe3-725690b86fd0&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-03-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT03-03: SongtoJson UT03-03-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 6,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;lsb.song2JSON(&#x27;./tests/data/song.sng&#x27;, function (err, json) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        let sj = JSON.parse(songjson)\n        assert.deepEqual(json, sj)\n        done()\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;692da6da-5cf1-4850-aaf8-224e006ad433&quot;,
      &quot;parentUUID&quot;: &quot;34dafd85-5b4f-42dc-834c-14cf28b92b51&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT03-04-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT03-04: SongtoFile UT03-04-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 7,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    lsb.json2Song(sj, &#x27;./tests/tmp/song.sng&#x27;, function (err) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            fs.readFile(&#x27;./tests/tmp/song.sng&#x27;, &#x27;utf8&#x27;, function (err, tmptext) {\n              if (err) {\n                done(new Error(err))\n              } else {\n                assert.equal(tmptext, songtext)\n                done()\n              }\n            })\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;96591df7-8b8f-4d1d-b1ad-7eadd6c05116&quot;,
      &quot;parentUUID&quot;: &quot;af5da200-fa98-4013-8519-e812f52a66c8&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT01-01-01: json from file should match json&quot;,
      &quot;fullTitle&quot;: &quot;UT01-01: toJson UT01-01-01: json from file should match json&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 4,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    song.toJSON(data, function (err, json) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, songjson) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            let sj = JSON.parse(songjson)\n            assert.deepEqual(json, sj)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;dc02fb53-0362-4134-974b-5b626d8bca32&quot;,
      &quot;parentUUID&quot;: &quot;a02f3c55-4320-4146-98a6-a97af459a6c6&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    },
    {
      &quot;title&quot;: &quot;UT01-02-01: string from json should match file&quot;,
      &quot;fullTitle&quot;: &quot;UT01-02: toFile UT01-02-01: string from json should match file&quot;,
      &quot;timedOut&quot;: false,
      &quot;duration&quot;: 2,
      &quot;state&quot;: &quot;passed&quot;,
      &quot;speed&quot;: &quot;fast&quot;,
      &quot;pass&quot;: true,
      &quot;fail&quot;: false,
      &quot;pending&quot;: false,
      &quot;code&quot;: &quot;fs.readFile(&#x27;./tests/data/song.json&#x27;, &#x27;utf8&#x27;, function (err, data) {\n  if (err) {\n    done(new Error(err))\n  } else {\n    var sj = JSON.parse(data)\n    song.toFile(sj, function (err, text) {\n      if (err) {\n        done(new Error(err))\n      } else {\n        fs.readFile(&#x27;./tests/data/song.sng&#x27;, &#x27;utf8&#x27;, function (err, songtext) {\n          if (err) {\n            done(new Error(err))\n          } else {\n            assert.equal(text, songtext)\n            done()\n          }\n        })\n      }\n    })\n  }\n})&quot;,
      &quot;err&quot;: {},
      &quot;isRoot&quot;: false,
      &quot;uuid&quot;: &quot;65536dbc-3549-4631-8300-d5bc315511a4&quot;,
      &quot;parentUUID&quot;: &quot;430a40bd-b742-4ef5-87f4-8fdb2288ed1b&quot;,
      &quot;isHook&quot;: false,
      &quot;skipped&quot;: false
    }
  ],
  &quot;allFailures&quot;: [],
  &quot;copyrightYear&quot;: 2018
}" data-config="{&quot;reportDir&quot;:&quot;mochawesome-report&quot;,&quot;reportTitle&quot;:&quot;lib-songbeamer&quot;,&quot;reportPageTitle&quot;:&quot;Mochawesome Report&quot;,&quot;inline&quot;:false,&quot;inlineAssets&quot;:false,&quot;charts&quot;:true,&quot;enableCharts&quot;:true,&quot;code&quot;:true,&quot;enableCode&quot;:true,&quot;autoOpen&quot;:false,&quot;overwrite&quot;:true,&quot;timestamp&quot;:false,&quot;ts&quot;:false,&quot;showHooks&quot;:&quot;failed&quot;,&quot;dev&quot;:false,&quot;reportFilename&quot;:&quot;mochawesome&quot;,&quot;saveJson&quot;:true,&quot;jsonFile&quot;:&quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/mochawesome-report/mochawesome.json&quot;,&quot;htmlFile&quot;:&quot;/mnt/c/Users/sigmu/Code/lib-songbeamer/mochawesome-report/mochawesome.html&quot;}"><div id="report"></div><script src="assets/app.js"></script></body></html>