< Summary

Information
Class: SwitchBlade.Services.ModifierKeyFlags
Assembly: SwitchBlade
File(s): D:\a\switchblade\switchblade\Models\ModifierKeys.cs
Tag: 203_23722840422
Line coverage
100%
Covered lines: 19
Uncovered lines: 0
Coverable lines: 19
Total lines: 56
Line coverage: 100%
Branch coverage
100%
Covered branches: 20
Total branches: 20
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ToString(...)100%1212100%
FromString(...)100%88100%

File(s)

D:\a\switchblade\switchblade\Models\ModifierKeys.cs

#LineLine coverage
 1namespace SwitchBlade.Services
 2{
 3    /// <summary>
 4    /// Constants for modifier key flags used in hotkeys and shortcuts.
 5    /// These values match the Windows API MOD_* constants.
 6    /// </summary>
 7    public static class ModifierKeyFlags
 8    {
 9        /// <summary>No modifier key required.</summary>
 10        public const uint None = 0;
 11
 12        /// <summary>Alt key modifier.</summary>
 13        public const uint Alt = 1;
 14
 15        /// <summary>Ctrl key modifier.</summary>
 16        public const uint Ctrl = 2;
 17
 18        /// <summary>Shift key modifier.</summary>
 19        public const uint Shift = 4;
 20
 21        /// <summary>Windows key modifier.</summary>
 22        public const uint Win = 8;
 23
 24        /// <summary>
 25        /// Converts a modifier value to its string representation.
 26        /// </summary>
 27        public static string ToString(uint modifier)
 1028        {
 1129            if (modifier == None) return "None";
 30
 931            var parts = new System.Collections.Generic.List<string>();
 1332            if ((modifier & Alt) != 0) parts.Add("Alt");
 1233            if ((modifier & Ctrl) != 0) parts.Add("Ctrl");
 1234            if ((modifier & Shift) != 0) parts.Add("Shift");
 1135            if ((modifier & Win) != 0) parts.Add("Win");
 36
 937            return parts.Count > 0 ? string.Join("+", parts) : "None";
 1038        }
 39
 40        /// <summary>
 41        /// Converts a string representation to its modifier value.
 42        /// </summary>
 43        public static uint FromString(string value)
 744        {
 745            return value switch
 746            {
 147                "Alt" => Alt,
 248                "Ctrl" => Ctrl,
 149                "Shift" => Shift,
 150                "Win" => Win,
 251                _ => None
 752            };
 753        }
 54    }
 55}
 56