test(app-iced): 接线守卫改判「代码行」,注释掉不再算接线(M252 r1 P1-1)
复审实测:三处接线守卫都是纯文本 `contains`,把真接线注释掉(行注释,或 `/*` 独占一行的 块注释)之后 943 条用例一条不红;`field.rs` 那处连 rustc 的 unused-variable 兜底也能用 `let _submit` 一起绕掉 —— 功能整条静默失效时,测试与 lint 两条线同时不响。 - `pages/layout/source/code.rs`(新):`code_lines()` 剥 `//` 与跨行/可嵌套 `/* … */`, 字符串与字符字面量整段保留(`"http://x"` 里的 `//` 不剥);`code_line()` / `has_code_line()` 给「某行代码的行首就是那个调用」这条谓词。边界写在模块文档:原始字符串里出现 `"` 是唯一 可能朝松方向错的形态(本仓 src 现无此写法),其余偏差都是假红。 - 三处守卫改用它:`text_field_forwards_the_submit_callback`(行首是 `on_submit_maybe(` 且实参不是 `None`、消息来自 `submit_message`)、`the_rename_field_wires_enter`(回车与 「改名」按钮的行都含 `commit_rename()`,且都不含第二种页面意图 —— 一并关掉 r1 P2-1 「Debug 自证撑不住判据」)、`the_accent_field_wires_enter_to_commit`(含产地那条代码行)。 - `submit_is_wired_only_at_the_two_call_sites` 的 `scan()` 换成同一谓词并跳过测试文件 (守卫自己的 fixture 里也有 `.on_submit(` 样本)。 - T29 顺手收敛 scope 内的同族旧断言:`pages/instances/tests.rs` 的行距/散文接线判据与 `pages/instances/tests/i18n.rs` 的五条取词判据改走 `code_text()`(一行改动、方向不变)。
This commit is contained in:
1 parent
92a3c1bbc8
commit
a17f6fb29f
7 files changed
+464
-45
No files matched your search
@@ -20,6 +20,8 @@
|
||||
use unlucky_i18n::catalog::MISSING;
|
||||
use unlucky_i18n::{Catalog, Key, Lang};
|
||||
|
||||
use crate::pages::layout::source;
|
||||
|
||||
use super::super::Texts;
|
||||
|
||||
/// 中文界面里允许出现的 ASCII 词:**品牌名与技术标识**。
|
||||
@@ -341,24 +343,24 @@ fn every_english_literal_in_the_page_sources_is_whitelisted() {
|
||||
.unwrap_or_else(|| panic!("PAGE_SOURCES 里没有 {name}:拆文件之后忘了登记?"))
|
||||
};
|
||||
assert!(
|
||||
source("instances.rs").contains("Texts::of("),
|
||||
"实例页没有从 Texts 取词"
|
||||
source::code_text(source("instances.rs")).contains("Texts::of("),
|
||||
"实例页没有从 Texts 取词(注释里写不算)"
|
||||
);
|
||||
assert!(
|
||||
source("instances.rs").contains("Header::new(texts.title())"),
|
||||
source::code_text(source("instances.rs")).contains("Header::new(texts.title())"),
|
||||
"页头标题必须是词表里的那条(`Header::new` 里写死字符串 = 中文界面上顶着英文标题)"
|
||||
);
|
||||
assert!(
|
||||
source("instances/text.rs").contains("Key::Instances"),
|
||||
"text.rs 没有引用本族的 key"
|
||||
source::code_text(source("instances/text.rs")).contains("Key::Instances"),
|
||||
"text.rs 没有引用本族的 key(注释里写不算)"
|
||||
);
|
||||
assert!(
|
||||
source("app/view/instances.rs").contains("Key::InstancesStage"),
|
||||
"阶段标签没有走目录"
|
||||
source::code_text(source("app/view/instances.rs")).contains("Key::InstancesStage"),
|
||||
"阶段标签没有走目录(注释里写不算)"
|
||||
);
|
||||
assert!(
|
||||
source("instances/launch_args.rs").contains("texts.launch_title()"),
|
||||
"启动参数区没有走目录"
|
||||
source::code_text(source("instances/launch_args.rs")).contains("texts.launch_title()"),
|
||||
"启动参数区没有走目录(注释里写不算)"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user