Add more tests
diff --git a/test/lcov_test.dart b/test/lcov_test.dart
index 827b335..05ef910 100644
--- a/test/lcov_test.dart
+++ b/test/lcov_test.dart
@@ -27,6 +27,8 @@
final sampleAppHitMap = hitmap[_sampleAppFileUri];
final sampleAppHitLines = sampleAppHitMap?.lineHits;
+ final sampleAppHitFuncs = sampleAppHitMap?.funcHits;
+ final sampleAppFuncNames = sampleAppHitMap?.funcNames;
expect(sampleAppHitLines, containsPair(46, greaterThanOrEqualTo(1)),
reason: 'be careful if you modify the test file');
@@ -34,6 +36,12 @@
reason: 'be careful if you modify the test file');
expect(sampleAppHitLines, isNot(contains(32)),
reason: 'be careful if you modify the test file');
+ expect(sampleAppHitFuncs, containsPair(45, 1),
+ reason: 'be careful if you modify the test file');
+ expect(sampleAppHitFuncs, containsPair(49, 0),
+ reason: 'be careful if you modify the test file');
+ expect(sampleAppFuncNames, containsPair(45, 'usedMethod'),
+ reason: 'be careful if you modify the test file');
});
group('LcovFormatter', () {
@@ -143,6 +151,26 @@
expect(res, isNot(contains(p.absolute(_isolateLibPath))));
expect(res, contains(p.absolute(p.join('lib', 'src', 'util.dart'))));
});
+
+ test('format() functions', () async {
+ final hitmap = await _getHitMap();
+
+ final resolver = Resolver(packagesPath: '.packages');
+ final formatter =
+ PrettyPrintFormatter(resolver, Loader(), reportFuncs: true);
+
+ final res = await formatter.format(hitmap);
+
+ expect(res, contains(p.absolute(_sampleAppPath)));
+ expect(res, contains(p.absolute(_isolateLibPath)));
+ expect(res, contains(p.absolute(p.join('lib', 'src', 'util.dart'))));
+
+ // be very careful if you change the test file
+ expect(res, contains(' 1|Future<Null> main() async {'));
+ expect(res, contains(' 1|int usedMethod(int a, int b) {'));
+ expect(res, contains(' 0|int unusedMethod(int a, int b) {'));
+ expect(res, contains(' | return a + b;'));
+ });
});
}
diff --git a/test/run_and_collect_test.dart b/test/run_and_collect_test.dart
index 2b1e47c..b18ccf0 100644
--- a/test/run_and_collect_test.dart
+++ b/test/run_and_collect_test.dart
@@ -43,6 +43,8 @@
final actualHitMap = hitMap[_isolateLibFileUri];
final actualLineHits = actualHitMap?.lineHits;
+ final actualFuncHits = actualHitMap?.funcHits;
+ final actualFuncNames = actualHitMap?.funcNames;
final expectedLineHits = {
11: 1,
12: 1,
@@ -69,5 +71,14 @@
};
expect(actualLineHits, expectedLineHits);
+ expect(actualFuncHits, {11: 1, 19: 0, 21: 1, 23: 1, 28: 1, 38: 1});
+ expect(actualFuncNames, {
+ 11: 'fooSync',
+ 19: 'BarClass.x=',
+ 21: 'BarClass.BarClass',
+ 23: 'BarClass.baz',
+ 28: 'fooAsync',
+ 38: 'isolateTask'
+ });
});
}