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:
@@ -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",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user