< Summary - Combined Code Coverage

Information
Class: NLightning.Daemon.Contracts.Utilities.ConsoleUtils
Assembly: NLightning.Daemon.Contracts
File(s): /home/runner/work/NLightning/NLightning/src/NLightning.Daemon.Contracts/Utilities/ConsoleUtils.cs
Tag: 57_24045730253
Line coverage
0%
Covered lines: 0
Uncovered lines: 21
Coverable lines: 21
Total lines: 30
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ReadPassword(...)0%7280%
ReadPassword(...)0%7280%

File(s)

/home/runner/work/NLightning/NLightning/src/NLightning.Daemon.Contracts/Utilities/ConsoleUtils.cs

#LineLine coverage
 1namespace NLightning.Daemon.Contracts.Utilities;
 2
 3public static class ConsoleUtils
 4{
 5    public static string ReadPassword(string prompt = "Enter password: ")
 06    {
 07        Console.Write(prompt);
 08        var password = string.Empty;
 9
 10        do
 011        {
 012            var key = Console.ReadKey(intercept: true);
 013            if (key.Key == ConsoleKey.Enter)
 014                break;
 015            if (key.Key == ConsoleKey.Backspace && password.Length > 0)
 016            {
 017                password = password[..^1];
 018                Console.Write("\b \b");
 019            }
 020            else if (!char.IsControl(key.KeyChar))
 021            {
 022                password += key.KeyChar;
 023                Console.Write('*');
 024            }
 025        } while (true);
 26
 027        Console.WriteLine();
 028        return password;
 029    }
 30}