Global Metrics

path: .metrics.mi.mi_sei
old: 43.13268908276357
new: 43.04390681329706

path: .metrics.mi.mi_visual_studio
old: 41.24010025959469
new: 41.20411243517105

path: .metrics.mi.mi_original
old: 70.52057144390692
new: 70.4590322641425

path: .metrics.halstead.level
old: 0.062388591800356503
new: 0.06055363321799307

path: .metrics.halstead.length
old: 168.0
new: 170.0

path: .metrics.halstead.effort
old: 15350.144073010331
new: 16003.577334415537

path: .metrics.halstead.bugs
old: 0.20588295009709032
new: 0.211685020555906

path: .metrics.halstead.N2
old: 66.0
new: 68.0

path: .metrics.halstead.purity_ratio
old: 1.4822129398471997
new: 1.46477514055488

path: .metrics.halstead.volume
old: 957.6738726477034
new: 969.0747520839856

path: .metrics.halstead.difficulty
old: 16.02857142857143
new: 16.514285714285716

path: .metrics.halstead.time
old: 852.7857818339073
new: 889.0876296897519

Spaces Data

Minimal test - lines (3, 46)

path: .spaces[0].metrics.halstead.N2
old: 65.0
new: 67.0

path: .spaces[0].metrics.halstead.bugs
old: 0.2013645913233119
new: 0.20713131086223976

path: .spaces[0].metrics.halstead.purity_ratio
old: 1.5091622660262398
new: 1.4910884664331112

path: .spaces[0].metrics.halstead.volume
old: 940.57255349328
new: 951.9734329295624

path: .spaces[0].metrics.halstead.difficulty
old: 15.785714285714286
new: 16.271428571428572

path: .spaces[0].metrics.halstead.time
old: 824.8671996905355
new: 860.5537619895013

path: .spaces[0].metrics.halstead.level
old: 0.06334841628959276
new: 0.061457418788410885

path: .spaces[0].metrics.halstead.effort
old: 14847.609594429638
new: 15489.967715811024

path: .spaces[0].metrics.halstead.length
old: 165.0
new: 167.0

path: .spaces[0].metrics.mi.mi_sei
old: 44.88057875580937
new: 44.79019194902254

path: .spaces[0].metrics.mi.mi_original
old: 71.56438622616832
new: 71.5017348658842

path: .spaces[0].metrics.mi.mi_visual_studio
old: 41.85051826091715
new: 41.81388003852877

Code

function frameLoaded(finishWhenCalled = true, lastObject = false) {
  var testframe = document.getElementById("testframe");
  function getNode(list) {
    if (list.length === 0) {
      return undefined;
    }
    return lastObject ? list[list.length - 1] : list[0];
  }
  var embed = getNode(document.getElementsByTagName("embed"));
  if (undefined === embed) {
    embed = getNode(document.getElementsByTagName("object"));
  }

  // In the file:// URI case, this ends up being cross-origin.
  // Skip these checks in that case.
  if (testframe.contentDocument) {
    var content = testframe.contentDocument.body.innerHTML;
    if (!content.length) {
      return;
    }

    var filename =
      embed.getAttribute("src") ||
      embed.getAttribute("geturl") ||
      embed.getAttribute("geturlnotify") ||
      embed.getAttribute("data");

    var req = new XMLHttpRequest();
    req.open("GET", filename, false);
    req.overrideMimeType("text/plain; charset=x-user-defined");
    req.send(null);
    is(req.status, 200, "bad XMLHttpRequest status");
    is(
      content,
      req.responseText.replace(/\r\n/g, "\n"),
      "content doesn't match"
    );
  }

  is(embed.getError(), "pass", "plugin reported error");
  if (finishWhenCalled) {
    SimpleTest.finish();
  }
}