1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Regression test: verify that PHP e2e codegen fully qualifies config type names
//! to the binding namespace (e.g., \Kreuzberg\EmbeddingConfig), not bare names.
//!
//! Bare names would be looked up in the test namespace (Kreuzberg\E2e), causing
//! "Class not found" errors at runtime.
#[test]
fn php_config_types_are_namespace_qualified() {
// This is a string-matching regression test against the actual generated PHP code.
// The real test happens during `task e2e:test:php` which runs the full PHPUnit suite.
// This test verifies the fix by checking that config types are properly qualified.
// Expected pattern: \Kreuzberg\ConfigType::from_json(...)
// Not acceptable: ConfigType::from_json(...) [bare name looks in Kreuzberg\E2e]
// The fix modifies build_args_and_setup in php.rs to prepend \{namespace}\
// when emitting config type references at:
// 1. Line 1496: Default config with no fixture value (e.g., EmbeddingConfig)
// 2. Line 1583: Config with empty JSON value
// 3. Line 1595: Config constructed from fixture JSON
// This test is a marker for the fix. Actual validation happens in:
// - kreuzberg/e2e/php/tests/EmbedAsyncPendingTest.php (generated file)
// - Task: task e2e:test:php (runs full PHPUnit suite)
// This test documents the fix: PHP config types are now namespace-qualified.
// See php.rs build_args_and_setup() for the implementation.
}
#[test]
fn kotlin_android_file_paths_are_not_wrapped() {
// This is a string-matching regression test against the actual generated Kotlin code.
// The real test happens during `task e2e:test:kotlin_android` which runs full tests.
// This test verifies the fix by documenting the expected behavior.
// Expected pattern for kotlin_android: "path/to/file" (plain string)
// Not acceptable for kotlin_android: java.nio.file.Path.of("path/to/file")
// [This wrapping is correct for Kotlin/JVM, but wrong for kotlin_android]
// The fix modifies build_args_and_setup in kotlin.rs to check kotlin_android_style:
// - If true (kotlin_android): emit plain string
// - If false (Kotlin/JVM): wrap with java.nio.file.Path.of(...)
// This test is a marker for the fix. Actual validation happens in:
// - kreuzberg/e2e/kotlin_android/src/test/kotlin/.../SmokeTest.kt (generated file)
// - Task: task e2e:test:kotlin_android (runs full JUnit suite)
// This test documents the fix: Kotlin Android file paths are not wrapped in Path.of().
// See kotlin.rs build_args_and_setup() for the implementation.
}