review(p9-fb-24): 회차 1 nit 반영 — 중복 inspect test, 카운트, sep 상수
회차 1 review (PR #97 회차 1) 의 4 건 actionable nit 모두 수렴. - `crates/kebab-tui/tests/inspect.rs`: pre-fb-24 의 `page_keys_scroll_by_ten` 이 신규 `page_down_scrolls_by_ten_in_inspect` + `page_up_rewinds_by_ten_saturating_in_inspect` 와 중복 커버리지였음. 신규 두 테스트가 더 정밀 (PgUp 의 25→15→ 그 다음 3→0 saturating 명시) 이라 기존을 삭제하고 신규로 대체. inspect 테스트 -1 (14 → 13). - `tasks/HOTFIXES.md`, `tasks/p9/p9-fb-24-tui-affordances.md`: 테스트 카운트 `기존 720+` → `기존 695개 (cargo test --workspace -j 1 기준 716 passed)` 정확화. 영속 기록. - `crates/kebab-tui/src/run.rs`: status bar 의 magic string `" │ "` 를 `const STATUS_SEPARATOR: &str` 로 추출. docstring 의 rendered shape 과 sync 보장 코멘트 추가. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -288,6 +288,12 @@ fn render_header(f: &mut Frame, area: Rect, app: &App) {
|
||||
f.render_widget(Paragraph::new(line), area);
|
||||
}
|
||||
|
||||
/// p9-fb-24: separator between status bar fragments. Two spaces +
|
||||
/// box-drawings light vertical (U+2502) + two spaces. Single source
|
||||
/// — the docstring of `render_status_bar` references the rendered
|
||||
/// shape, so any change here MUST update that docstring too.
|
||||
const STATUS_SEPARATOR: &str = " │ ";
|
||||
|
||||
/// p9-fb-24: always-visible status bar. Layout (left → right):
|
||||
///
|
||||
/// ```text
|
||||
@@ -315,7 +321,7 @@ pub fn render_status_bar(f: &mut Frame, area: Rect, app: &App) {
|
||||
let doc_count = app.library.inner.docs.len();
|
||||
let dynamic = dynamic_status(app);
|
||||
|
||||
let sep = " │ ";
|
||||
let sep = STATUS_SEPARATOR;
|
||||
let mut line_text = format!(
|
||||
"kebab v{}{sep}{}{sep}{} docs{sep}",
|
||||
env!("CARGO_PKG_VERSION"),
|
||||
|
||||
@@ -173,24 +173,10 @@ fn j_k_scroll_within_bounds_no_panic() {
|
||||
assert_eq!(app.inspect.as_ref().unwrap().scroll, 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn page_keys_scroll_by_ten() {
|
||||
let mut app = fresh_app();
|
||||
handle_key_inspect(
|
||||
&mut app,
|
||||
KeyEvent::new(KeyCode::PageDown, KeyModifiers::NONE),
|
||||
);
|
||||
assert_eq!(app.inspect.as_ref().unwrap().scroll, 10);
|
||||
handle_key_inspect(
|
||||
&mut app,
|
||||
KeyEvent::new(KeyCode::PageUp, KeyModifiers::NONE),
|
||||
);
|
||||
assert_eq!(app.inspect.as_ref().unwrap().scroll, 0);
|
||||
}
|
||||
|
||||
/// p9-fb-24 task 2: PageDown advances scroll by `PAGE_STEP` (= 10).
|
||||
/// Pins the constant so a future viewport-aware refactor surfaces
|
||||
/// here, not silently in user-visible behaviour.
|
||||
/// here, not silently in user-visible behaviour. Replaces the
|
||||
/// pre-fb-24 `page_keys_scroll_by_ten` (deleted as duplicate).
|
||||
#[test]
|
||||
fn page_down_scrolls_by_ten_in_inspect() {
|
||||
let mut app = fresh_app();
|
||||
|
||||
@@ -29,7 +29,7 @@ git history.
|
||||
|
||||
**Spec contract impact**: p9-fb-13 follow-up (footer 단행 row) + p9-fb-03 (ingest dedicated row) frozen spec 들과 layout 충돌. frozen 텍스트 보존, 본 HOTFIXES 항목 + spec `tasks/p9/p9-fb-24-tui-affordances.md` + design `docs/superpowers/specs/2026-05-04-p9-fb-24-tui-affordances-design.md` 가 live source of truth.
|
||||
|
||||
**Tests added**: 약 21 신규 (status_bar 통합 10 + library 헤더 1 + Ask PgUp/PgDn 3 + Inspect PgUp/PgDn 회귀 2 + format_doc_header 단위 1, 잔여는 cascade branch 별). 기존 720+ 워크스페이스 테스트 무수정 통과.
|
||||
**Tests added**: 약 21 신규 (status_bar 통합 10 + library 헤더 1 + Ask PgUp/PgDn 3 + Inspect PgUp/PgDn 회귀 2 + format_doc_header 단위 1, 잔여는 cascade branch 별). 기존 695개 워크스페이스 테스트 무수정 통과 (`cargo test --workspace -j 1` 기준 716 passed).
|
||||
|
||||
**Known limitation (deferred)**: `PAGE_STEP = 10` 은 viewport-aware 가 아님 — 24 row 작은 터미널에서 한 페이지 > viewport, 80 row 큰 터미널에서 한 페이지 < viewport. 후속 task 에서 viewport-aware 로 업그레이드 가능.
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ source_feedback: 사용자 도그푸딩 2026-05-04 — Library 컬럼 의미 부
|
||||
- Ask 통합 3 (PgDn / PgUp / PgUp saturating + freeze follow_tail / PgDn from Insert).
|
||||
- Inspect 통합 2 (PAGE_STEP regression).
|
||||
- format_doc_header 단위 1.
|
||||
- 기존 720+ 테스트 무수정 통과.
|
||||
- 기존 695개 테스트 무수정 통과 (`cargo test --workspace -j 1` 기준 716 passed).
|
||||
|
||||
## Risks / notes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user