0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
denoland-deno/cli/tests/coverage/complex.ts
Casper Beyer ae8874b4b2
feat: add "deno coverage" subcommand (#8664)
This commit adds a new subcommand called "coverage" 
which can generate code coverage reports to stdout in 
multiple formats from code coverage profiles collected to disk.

Currently this supports outputting a pretty printed diff and 
the lcov format for interoperability with third-party services and tools.

Code coverage is still collected via other subcommands 
that run and collect code coverage such as 
"deno test --coverage=<directory>" but that command no 
longer prints a pretty printed report at the end of a test 
run with coverage collection enabled.

The restrictions on which files that can be reported on has 
also been relaxed and are fully controllable with the include 
and exclude regular expression flags on the coverage subcommand.

Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-02-24 15:27:51 +01:00

68 lines
1.3 KiB
TypeScript

// This entire interface should be completely ignored by the coverage tool.
export interface Complex {
// These comments should be ignored.
foo: string;
// But this is a stub, so this isn't really documentation.
bar: string;
// Really all these are doing is padding the line count.
baz: string;
}
// Lets add some wide characters to ensure that the absolute byte offsets are
// being matched properly.
//
// 패딩에 대한 더 많은 문자.
function dependency(
foo: string,
bar: string,
baz: string,
): Complex {
return {
foo,
bar,
baz,
};
}
// Again just more wide characters for padding.
//
// 良い対策のためにいくつかのユニコード文字を投げる。
export function complex(
foo: string,
bar: string,
baz: string,
): Complex {
return dependency(
foo,
bar,
baz,
);
}
// And yet again for good measure.
// 更多用於填充的字元。
export function unused(
foo: string,
bar: string,
baz: string,
): Complex {
return complex(
foo,
bar,
baz,
);
}
// Using a non-ascii name again to ensure that the byte offsets match up
// correctly.
export const π = Math.PI;
// And same applies for this one, this one is unused and will show up in
// lacking coverage.
export function ƒ(): number {
return (
0
);
}