MailJDTourDownloadDocsQualityTestsCoverage

Which source lines and branches the tests execute. Lines 91.5 %, branches 75.0 % (minimum 85 % and 72 %). main @ 399ffe3d · 21 October 2026 · pipeline 7238.

GCC Code Coverage Report


Directory: src/
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 3 / 0 / 3
Functions: 100.0% 1 / 0 / 1
Branches: 50.0% 2 / 0 / 4

app/NamedCommandCatalogPeople.cpp
Line Branch Exec Source
1 // The people commands of the command bar (Sprint 103 S103.3.5, S103.6.3,
2 // S103.6.7, D-21): met, link, relate, map, graph, how, me. Part of the
3 // catalog of NamedCommandCatalog.cpp (same rules: one lowercase English word,
4 // German and English keywords).
5
6 #include "NamedCommandCatalog.h"
7
8 namespace {
9
10 constexpr CommandContexts kViews = CommandContext::MainMail | CommandContext::MailTab | CommandContext::Search |
11 CommandContext::Calendar | CommandContext::Task | CommandContext::Contact |
12 CommandContext::Rules;
13 constexpr CommandContexts kAnywhere = kViews | CommandContext::Settings;
14
15 } // namespace
16
17 25 QList<NamedCommandSpec> peopleCommands() {
18 return {
19 // Sprint 103 S103.6.3 (D-15): the displayed mail is about a person.
20 {.name = "link", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Create"),
21 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Link the mail to a contact"),
22 .contexts = kViews, .argument = CommandArgument::ContactLine, .syntax = "[name]",
23 .example = "link Ana Silva", .keywords = "verknüpfen kontakt über person"},
24 // Sprint 103 S103.6.7 (D-21): people commands.
25 {.name = "relate", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Create"),
26 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Add a relationship between two contacts"),
27 .contexts = kViews, .argument = CommandArgument::ContactLine, .syntax = "<person> <relation> <person>",
28 .example = "relate Ana sibling Marta", .keywords = "beziehung verwandt familie kollegium"},
29 {.name = "map", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Go to"),
30 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Show the contacts on the world map"),
31 .contexts = kAnywhere, .argument = CommandArgument::ContactLine, .syntax = "[place]",
32 .example = "map Lisbon", .keywords = "karte weltkarte orte wohnort"},
33 {.name = "graph", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Go to"),
34 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Show a person's relationships"),
35 .contexts = kAnywhere, .argument = CommandArgument::ContactLine, .syntax = "[name]",
36 .example = "graph Ana Silva", .keywords = "beziehungen netz graph"},
37 {.name = "how", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Go to"),
38 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "How do I know someone?"),
39 .contexts = kAnywhere, .argument = CommandArgument::ContactLine, .syntax = "<name>",
40 .example = "how Kai Nowak", .keywords = "kennen woher pfad über"},
41 {.name = "me", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Go to"),
42 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Show my own contact card"),
43 .contexts = kAnywhere, .keywords = "ich meine karte selbst"},
44 // F103-13: a contact entry for a family (household) with its members.
45 {.name = "family", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Create"),
46 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "New family with its members"),
47 .contexts = kViews, .argument = CommandArgument::ContactLine, .syntax = "[name]",
48 .example = "family Familie Weber", .keywords = "familie haushalt mitglieder household members"},
49 // Sprint 103 S103.3.5: the quick capture, prefilled from the event of the moment.
50 {.name = "met", .category = QT_TRANSLATE_NOOP("NamedCommandCatalog", "Create"),
51 .description = QT_TRANSLATE_NOOP("NamedCommandCatalog", "New contact with how you met"),
52 .contexts = kViews, .argument = CommandArgument::ContactLine, .syntax = "[name]",
53 .example = "met Rui Costa", .keywords = "kennengelernt getroffen treffen begegnung"},
54
2/4
✓ Branch 12 → 13 taken 200 times.
✓ Branch 12 → 14 taken 25 times.
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 19 not taken.
225 };
55 25 }
56