review(p6-1): 회차 1 지적 반영

- Cargo.toml: 미사용 deps 제거 (`serde`, `thiserror`) + dev-deps 의
  `serde_json` 중복 선언 제거.
- src/lib.rs: 변수명 `decode_warning` → `dim_warning` (16k cap 초과
  분기까지 포괄하므로 더 정확).
- src/exif_extract.rs: `ascii_field` / `u32_field` 의 dead-flexibility
  `In` 인자 제거 (모든 호출이 `In::PRIMARY` 였음). 두 단 `if let` 을
  Rust 2024 let-chain 으로 정리. EXIF 화이트리스트 출력 키를
  workspace wire-schema 컨벤션에 맞춰 snake_case 로 통일
  (`Make` → `make`, `DateTimeOriginal` → `date_time_original` 등).
- tests/common/mod.rs: 호출되지 않는 `fake_path` 헬퍼 + `Path` import
  제거.
- tests/extractor.rs: snake_case 키로 assertion 갱신.

cargo test -p kebab-parse-image — 14건 모두 pass.
cargo clippy -p kebab-parse-image --all-targets -- -D warnings — pass.
This commit is contained in:
2026-05-02 05:11:40 +00:00
parent d11a810119
commit 194dd34668
6 changed files with 50 additions and 59 deletions

View File

@@ -68,17 +68,17 @@ fn jpeg_with_exif_gps_captures_whitelisted_tags() {
.get("exif")
.and_then(|v| v.as_object())
.expect("exif object present");
assert_eq!(exif.get("Make"), Some(&Value::String("KebabCam".into())));
assert_eq!(exif.get("Model"), Some(&Value::String("X1".into())));
assert_eq!(exif.get("make"), Some(&Value::String("KebabCam".into())));
assert_eq!(exif.get("model"), Some(&Value::String("X1".into())));
assert_eq!(
exif.get("Software"),
exif.get("software"),
Some(&Value::String("kebab-test".into()))
);
assert_eq!(
exif.get("DateTimeOriginal"),
exif.get("date_time_original"),
Some(&Value::String("2024-08-15T12:34:56".into()))
);
assert_eq!(exif.get("Orientation"), Some(&Value::Number(1.into())));
assert_eq!(exif.get("orientation"), Some(&Value::Number(1.into())));
let lat = exif.get("gps_lat").and_then(|v| v.as_f64()).expect("gps_lat");
let lon = exif.get("gps_lon").and_then(|v| v.as_f64()).expect("gps_lon");
assert!((lat - 37.5).abs() < 1e-6, "lat={lat}");
@@ -86,11 +86,11 @@ fn jpeg_with_exif_gps_captures_whitelisted_tags() {
// Maker notes / thumbnails / unrelated tags must NOT have leaked in.
let allowed: std::collections::HashSet<&str> = [
"Make",
"Model",
"Software",
"DateTimeOriginal",
"Orientation",
"make",
"model",
"software",
"date_time_original",
"orientation",
"gps_lat",
"gps_lon",
]