Global Metrics

path: .metrics.halstead.n2
old: 14.0
new: 83.0

path: .metrics.halstead.vocabulary
old: 23.0
new: 103.0

path: .metrics.halstead.purity_ratio
old: 2.211683619507764
new: 1.1420534966596327

path: .metrics.halstead.time
old: 41.84294809352737
new: 5451.869981380833

path: .metrics.halstead.n1
old: 9.0
new: 20.0

path: .metrics.halstead.volume
old: 167.37179237410948
new: 3604.0237841517546

path: .metrics.halstead.difficulty
old: 4.5
new: 27.228915662650603

path: .metrics.halstead.effort
old: 753.1730656834926
new: 98133.659664855

path: .metrics.halstead.N2
old: 14.0
new: 226.0

path: .metrics.halstead.bugs
old: 0.02759361491215514
new: 0.7091815176614946

path: .metrics.halstead.estimated_program_length
old: 81.83229392178727
new: 615.566834699542

path: .metrics.halstead.length
old: 37.0
new: 539.0

path: .metrics.halstead.level
old: 0.2222222222222222
new: 0.036725663716814155

path: .metrics.halstead.N1
old: 23.0
new: 313.0

path: .metrics.cyclomatic.average
old: 1.5
new: 1.0666666666666669

path: .metrics.cyclomatic.sum
old: 3.0
new: 16.0

path: .metrics.mi.mi_original
old: 92.20039622285586
new: 43.66907750965386

path: .metrics.mi.mi_sei
old: 73.17084163027158
new: -11.070572678167965

path: .metrics.mi.mi_visual_studio
old: 53.91836036424319
new: 25.537472227867756

path: .metrics.nargs.sum
old: 1.0
new: 23.0

path: .metrics.nom.total
old: 1.0
new: 23.0

path: .metrics.nom.closures
old: 0.0
new: 10.0

path: .metrics.nom.functions
old: 1.0
new: 13.0

path: .metrics.cognitive.average
old: 2.0
new: 0.043478260869565216

path: .metrics.cognitive.sum
old: 2.0
new: 1.0

path: .metrics.loc.lloc
old: 5.0
new: 45.0

path: .metrics.loc.blank
old: 4.0
new: 29.0

path: .metrics.loc.ploc
old: 19.0
new: 120.0

path: .metrics.loc.cloc
old: 1.0
new: 0.0

path: .metrics.loc.sloc
old: 24.0
new: 149.0

path: .metrics.nexits.sum
old: 2.0
new: 8.0

path: .metrics.nexits.average
old: 2.0
new: 0.34782608695652173

Spaces Data

Minimal test - lines (16, 31)

path: .spaces[0].metrics.mi.mi_visual_studio
old: 59.417663785304846
new: 55.68940073431815

path: .spaces[0].metrics.mi.mi_sei
old: 71.08667051889284
new: 61.78719394820075

path: .spaces[0].metrics.mi.mi_original
old: 101.60420507287128
new: 95.22887525568404

path: .spaces[0].metrics.halstead.time
old: 38.43277744931416
new: 180.1271400419945

path: .spaces[0].metrics.halstead.level
old: 0.2222222222222222
new: 0.11140583554376658

path: .spaces[0].metrics.halstead.effort
old: 691.7899940876548
new: 3242.2885207559007

path: .spaces[0].metrics.halstead.n1
old: 9.0
new: 13.0

path: .spaces[0].metrics.halstead.purity_ratio
old: 2.0442535720467054
new: 1.976681439636453

path: .spaces[0].metrics.halstead.bugs
old: 0.026073235624851927
new: 0.07302078840964026

path: .spaces[0].metrics.halstead.estimated_program_length
old: 71.54887502163469
new: 140.34438221418816

path: .spaces[0].metrics.halstead.vocabulary
old: 21.0
new: 34.0

path: .spaces[0].metrics.halstead.N1
old: 23.0
new: 42.0

path: .spaces[0].metrics.halstead.length
old: 35.0
new: 71.0

path: .spaces[0].metrics.halstead.n2
old: 12.0
new: 21.0

path: .spaces[0].metrics.halstead.volume
old: 153.73110979725664
new: 361.20986172877406

path: .spaces[0].metrics.halstead.difficulty
old: 4.5
new: 8.976190476190476

path: .spaces[0].metrics.halstead.N2
old: 12.0
new: 29.0

path: .spaces[0].metrics.nargs.average
old: 1.0
new: 0.6666666666666666

path: .spaces[0].metrics.nargs.sum
old: 1.0
new: 2.0

path: .spaces[0].metrics.loc.ploc
old: 14.0
new: 13.0

path: .spaces[0].metrics.loc.sloc
old: 14.0
new: 16.0

path: .spaces[0].metrics.loc.lloc
old: 5.0
new: 7.0

path: .spaces[0].metrics.loc.blank
old: 0.0
new: 3.0

path: .spaces[0].metrics.cognitive.average
old: 2.0
new: 0.0

path: .spaces[0].metrics.cognitive.sum
old: 2.0
new: 0.0

path: .spaces[0].metrics.nom.closures
old: 0.0
new: 2.0

path: .spaces[0].metrics.nom.total
old: 1.0
new: 3.0

path: .spaces[0].metrics.nexits.sum
old: 2.0
new: 1.0

path: .spaces[0].metrics.nexits.average
old: 2.0
new: 0.3333333333333333

path: .spaces[0].metrics.cyclomatic.average
old: 2.0
new: 1.0

path: .spaces[0].metrics.cyclomatic.sum
old: 2.0
new: 1.0

Code

TEST(TestInputStreamLengthHelper, NonLengthStream)
{
  nsCString buf;
  buf.AssignLiteral("Hello world");

  nsCOMPtr stream;
  NS_NewCStringInputStream(getter_AddRefs(stream), buf);

  bool called = false;
  InputStreamLengthHelper::GetAsyncLength(stream, [&](int64_t aLength) {
    ASSERT_EQ(buf.Length(), aLength);
    called = true;
  });

  MOZ_ALWAYS_TRUE(SpinEventLoopUntil([&]() { return called; }));
}