dte test coverage


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 50.0% high: ≥ 85.0%
Coverage Exec / Excl / Total
Lines: 100.0% 7 / 1 / 8
Functions: 100.0% 1 / 0 / 1
Branches: 75.0% 3 / 0 / 4

src/filetype/types.c
Line Branch Exec Source
1 #include "filetype.h"
2 #include "filetype/types.h"
3 #include "util/bsearch.h"
4 #include "util/debug.h"
5
6 const char builtin_filetype_names[NR_BUILTIN_FILETYPES][12] = {
7 [ADA] = "ada",
8 [ASCIIDOC] = "asciidoc",
9 [ASM] = "asm",
10 [AWK] = "awk",
11 [BATCH] = "batch",
12 [BIBTEX] = "bibtex",
13 [C] = "c",
14 [CLOJURE] = "clojure",
15 [CMAKE] = "cmake",
16 [COBOL] = "cobol",
17 [COCCINELLE] = "coccinelle",
18 [COFFEESCRIPT] = "coffee",
19 [CONFIG] = "config",
20 [CONFIG_NTC] = "config-ntc",
21 [CSH] = "csh",
22 [CSHARP] = "csharp",
23 [CSS] = "css",
24 [CSV] = "csv",
25 [CTAGS] = "ctags",
26 [D] = "d",
27 [D2] = "d2",
28 [DART] = "dart",
29 [DEVICETREE] = "devicetree",
30 [DIFF] = "diff",
31 [DOCKER] = "docker",
32 [DOT] = "dot",
33 [DTE] = "dte",
34 [ELIXIR] = "elixir",
35 [ERLANG] = "erlang",
36 [FISH] = "fish",
37 [GCODE] = "gcode",
38 [GDSCRIPT] = "gdscript",
39 [GETTEXT] = "gettext",
40 [GITCOMMIT] = "gitcommit",
41 [GITIGNORE] = "gitignore",
42 [GITLOG] = "gitlog",
43 [GITNOTE] = "gitnote",
44 [GITREBASE] = "gitrebase",
45 [GITSTASH] = "gitstash",
46 [GLSL] = "glsl",
47 [GNUPLOT] = "gnuplot",
48 [GO] = "go",
49 [GOMODULE] = "gomod",
50 [GPERF] = "gperf",
51 [GRADLE] = "gradle",
52 [GRAPHQL] = "graphql",
53 [GROOVY] = "groovy",
54 [HARE] = "hare",
55 [HASKELL] = "haskell",
56 [HCL] = "hcl",
57 [HTML] = "html",
58 [INDENT] = "indent",
59 [INI] = "ini",
60 [JAVA] = "java",
61 [JAVASCRIPT] = "javascript",
62 [JQ] = "jq",
63 [JSON] = "json",
64 [JSONC] = "jsonc",
65 [JULIA] = "julia",
66 [KDL] = "kdl",
67 [KOTLIN] = "kotlin",
68 [LEX] = "lex",
69 [LISP] = "lisp",
70 [LRC] = "lrc",
71 [LUA] = "lua",
72 [M4] = "m4",
73 [MAIL] = "mail",
74 [MAKE] = "make",
75 [MARKDOWN] = "markdown",
76 [MESON] = "meson",
77 [MOONSCRIPT] = "moonscript",
78 [NFTABLES] = "nftables",
79 [NGINX] = "nginx",
80 [NIM] = "nim",
81 [NINJA] = "ninja",
82 [NIX] = "nix",
83 [NONE] = "none",
84 [OBJC] = "objc",
85 [OCAML] = "ocaml",
86 [ODIN] = "odin",
87 [PASCAL] = "pascal",
88 [PERL] = "perl",
89 [PHP] = "php",
90 [PKGCONFIG] = "pkg-config",
91 [POSTSCRIPT] = "postscript",
92 [POWERSHELL] = "powershell",
93 [PROTOBUF] = "protobuf",
94 [PYTHON] = "python",
95 [RACKET] = "racket",
96 [ROBOTSTXT] = "robotstxt",
97 [ROFF] = "roff",
98 [RPMSPEC] = "rpmspec",
99 [RST] = "rst",
100 [RUBY] = "ruby",
101 [RUST] = "rust",
102 [SCAD] = "scad",
103 [SCALA] = "scala",
104 [SCHEME] = "scheme",
105 [SCSS] = "scss",
106 [SED] = "sed",
107 [SH] = "sh",
108 [SLINT] = "slint",
109 [SQL] = "sql",
110 [STEP] = "step",
111 [SWIFT] = "swift",
112 [TCL] = "tcl",
113 [TERMINFO] = "terminfo",
114 [TEXINFO] = "texinfo",
115 [TEXMFCNF] = "texmfcnf",
116 [TEX] = "tex",
117 [TLVERILOG] = "tl-verilog",
118 [TMUX] = "tmux",
119 [TOML] = "toml",
120 [TSV] = "tsv",
121 [TYPESCRIPT] = "typescript",
122 [TYPST] = "typst",
123 [VALA] = "vala",
124 [VCARD] = "vcard",
125 [VERILOG] = "verilog",
126 [VHDL] = "vhdl",
127 [VIML] = "viml",
128 [WEECHATLOG] = "weechatlog",
129 [XML] = "xml",
130 [XRESOURCES] = "xresources",
131 [YACC] = "yacc",
132 [YAML] = "yaml",
133 [ZIG] = "zig",
134 };
135
136 24 UNITTEST {
137 24 static_assert(NR_BUILTIN_FILETYPES < 256);
138 24 CHECK_BSEARCH_STR_ARRAY(builtin_filetype_names);
139
140
2/2
✓ Branch 7 → 4 taken 3048 times.
✓ Branch 7 → 8 taken 24 times.
3096 for (size_t i = 0; i < ARRAYLEN(builtin_filetype_names); i++) {
141 3048 const char *name = builtin_filetype_names[i];
142
1/2
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 3048 times.
3048 if (unlikely(!is_valid_filetype_name(name))) {
143 BUG("invalid name at builtin_filetype_names[%zu]: \"%s\"", i, name);
144 }
145 }
146 24 }
147