suite check: направление ссылок внутри темы проверяется во всём документе
- ссылка на слой своей темы с объявленной осью — ошибка где угодно, а не только в норме: гарантированно присутствует в копии один базовый слой - ссылки на чужую тему вне нормы остаются разрешёнными по META-20
This commit is contained in:
@@ -160,7 +160,22 @@ func TestLayeredChecks(t *testing.T) {
|
||||
"**ДОЛЖЕН.** Момент времени записывается с суффиксом Z.",
|
||||
"**ДОЛЖЕН.** Момент времени записывается с суффиксом Z, как требует GTIM-1.", 1)
|
||||
},
|
||||
want: "a layer of its own topic but not the base one",
|
||||
want: "points at a layer of this topic that is not the base one",
|
||||
}, {
|
||||
name: "rationale of the base layer references a layer above it",
|
||||
setup: func(f files) {
|
||||
f["conventions/arch/time.md"] = strings.Replace(archTime,
|
||||
"**ПОЧЕМУ.** Без явного смещения не видно, в какой зоне запись сделана.",
|
||||
"**ПОЧЕМУ.** Без явного смещения не видно зоны; в Go это выражает GTIM-1.", 1)
|
||||
},
|
||||
want: "points at a layer of this topic that is not the base one",
|
||||
}, {
|
||||
name: "a section outside any rule references a layer above",
|
||||
setup: func(f files) {
|
||||
f["conventions/arch/time.md"] = archTime +
|
||||
"\n## Связано\n\nРеализация на Go — GTIM-1.\n"
|
||||
},
|
||||
want: "points at a layer of this topic that is not the base one",
|
||||
}}
|
||||
|
||||
for _, tc := range cases {
|
||||
@@ -220,7 +235,7 @@ func TestNoFalsePositives(t *testing.T) {
|
||||
name: "a stub of a retired rule with a date and a reason",
|
||||
setup: func(f files) {
|
||||
f["conventions/arch/time.md"] = archTime +
|
||||
"\n### TIME-2. Ширина строки фиксируется\n\n**СНЯТО 2026-07-26.** Правило переехало в GTIM-1.\n"
|
||||
"\n### TIME-2. Ширина строки фиксируется\n\n**СНЯТО 2026-07-26.** Ширина следует из TIME-1 и отдельного правила не требует.\n"
|
||||
},
|
||||
}, {
|
||||
name: "a scenario block in the suite's own vocabulary",
|
||||
@@ -235,6 +250,26 @@ func TestNoFalsePositives(t *testing.T) {
|
||||
"**ПОЧЕМУ.** Без явного смещения не видно, в какой зоне запись сделана.",
|
||||
"**ПОЧЕМУ.** Условие `WHERE a AND b OR c` сортировку не спасает.", 1)
|
||||
},
|
||||
}, {
|
||||
name: "a rationale references a foreign topic, which META-20 allows",
|
||||
setup: func(f files) {
|
||||
f["conventions/lang/go/time.md"] = strings.Replace(goTime,
|
||||
"**ПОЧЕМУ.** Единая точка даёт гарантированный UTC.",
|
||||
"**ПОЧЕМУ.** Единая точка даёт гарантированный UTC; тот же довод стоит за SLOG-1.", 1)
|
||||
},
|
||||
}, {
|
||||
name: "a section outside any rule references a foreign topic",
|
||||
setup: func(f files) {
|
||||
f["conventions/lang/go/time.md"] = goTime +
|
||||
"\n## Связано\n\nКонвенция logging, правило SLOG-1.\n"
|
||||
},
|
||||
}, {
|
||||
name: "a layer references the base layer of its topic outside a norm",
|
||||
setup: func(f files) {
|
||||
f["conventions/lang/go/time.md"] = strings.Replace(goTime,
|
||||
"**ПОЧЕМУ.** Единая точка даёт гарантированный UTC.",
|
||||
"**ПОЧЕМУ.** Единая точка даёт гарантированный UTC, чего и требует TIME-1.", 1)
|
||||
},
|
||||
}, {
|
||||
name: "the single document without a topic is the one the suite governs itself by",
|
||||
setup: func(f files) {
|
||||
|
||||
Reference in New Issue
Block a user