diff options
Diffstat (limited to 'crates/shirabe/tests/autoload')
| -rw-r--r-- | crates/shirabe/tests/autoload/class_loader_test.rs | 25 | ||||
| -rw-r--r-- | crates/shirabe/tests/autoload/main.rs | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/crates/shirabe/tests/autoload/class_loader_test.rs b/crates/shirabe/tests/autoload/class_loader_test.rs index 02fb48f..68a0ba4 100644 --- a/crates/shirabe/tests/autoload/class_loader_test.rs +++ b/crates/shirabe/tests/autoload/class_loader_test.rs @@ -1 +1,26 @@ //! ref: composer/tests/Composer/Test/Autoload/ClassLoaderTest.php + +use shirabe::autoload::class_loader::ClassLoader; + +// In PHP, loadClass() includes the matching .php fixture and the assertion checks +// class_exists(). There is no equivalent runtime notion of loading and defining a +// class in Rust, so this case cannot be ported faithfully. +#[test] +#[ignore = "relies on PHP loadClass()/class_exists() runtime class loading, which has no Rust equivalent"] +fn test_load_class() { + todo!() +} + +#[test] +fn test_get_prefixes_with_no_psr0_configuration() { + let loader = ClassLoader::new(None); + assert!(loader.get_prefixes().is_empty()); +} + +// In PHP this serializes the loader and unserializes it, then compares every getter. +// PHP serialize()/unserialize() has no Rust equivalent here. +#[test] +#[ignore = "relies on PHP serialize()/unserialize() round-tripping of the ClassLoader, which is not ported"] +fn test_serializability() { + todo!() +} diff --git a/crates/shirabe/tests/autoload/main.rs b/crates/shirabe/tests/autoload/main.rs new file mode 100644 index 0000000..769d9e8 --- /dev/null +++ b/crates/shirabe/tests/autoload/main.rs @@ -0,0 +1 @@ +mod class_loader_test; |
