use super::*;
#[test]
fn detects_generated_path_patterns() {
for path in [
"proto/user.pb.go",
"src/service.pulsar.go",
"web/api.generated.ts",
"web/client.auto.ts",
"public/app.min.js",
"assets/main.min.css",
"dist/client/index.ts",
"build/openapi/client.rs",
"target/generated/schema.rs",
] {
assert!(path_has_generated_signal(path), "{path}");
}
}
#[test]
fn detects_header_markers_for_swagger_and_openapi_clients() {
for content in [
"// Code generated by protoc-gen-go. DO NOT EDIT.\npackage api\n",
"/* auto-generated swagger client */\nexport class UsersApi {}\n",
"// @generated by relay test fixture\n",
"// OpenAPI Generator client\nexport const request = () => {}\n",
] {
assert!(is_generated_file("src/client.ts", content.as_bytes()));
}
}
#[test]
fn does_not_treat_size_alone_as_generated() {
let large_text = vec![b'a'; 1024 * 1024 + 1];
assert!(!is_generated_file("src/huge.ts", &large_text));
}
#[test]
fn keeps_nested_build_and_dist_source_paths_handwritten() {
for path in ["src/build/config.rs", "internal/dist/reader.go"] {
assert!(!path_has_generated_signal(path), "{path}");
}
for path in ["build/openapi/client.rs", "dist/client/index.ts"] {
assert!(path_has_generated_signal(path), "{path}");
}
}