diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-24 00:47:20 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-24 00:47:53 +0900 |
| commit | 340164c64e90d44b1bdf620b514166db1f76cc98 (patch) | |
| tree | 86195fe5ff8582b64e0324e9f40619e36c04948f /crates/shirabe/tests/util/http | |
| parent | 8fe3390d064303b86133a1d2983144a4818a7121 (diff) | |
| download | php-shirabe-340164c64e90d44b1bdf620b514166db1f76cc98.tar.gz php-shirabe-340164c64e90d44b1bdf620b514166db1f76cc98.tar.zst php-shirabe-340164c64e90d44b1bdf620b514166db1f76cc98.zip | |
test: port more unimplemented tests
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/util/http')
| -rw-r--r-- | crates/shirabe/tests/util/http/proxy_manager_test.rs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/crates/shirabe/tests/util/http/proxy_manager_test.rs b/crates/shirabe/tests/util/http/proxy_manager_test.rs index dede524..7beafe1 100644 --- a/crates/shirabe/tests/util/http/proxy_manager_test.rs +++ b/crates/shirabe/tests/util/http/proxy_manager_test.rs @@ -38,11 +38,32 @@ impl Drop for TearDown { } #[test] -#[ignore = "ProxyManager::get_instance returns a shared &'static Mutex, so instance identity (=== / after reset) cannot be expressed through the public API"] +#[serial_test::serial] fn test_instantiation() { let _tear_down = TearDown; set_up(); - todo!() + + // PHP compares object identity (===); the value-based Rust singleton exposes a per-instance + // generation id instead, which changes only when a new ProxyManager is constructed. + let original_instance = { + let mutex = ProxyManager::get_instance(); + let guard = mutex.lock().unwrap(); + guard.as_ref().unwrap().__generation() + }; + let same_instance = { + let mutex = ProxyManager::get_instance(); + let guard = mutex.lock().unwrap(); + guard.as_ref().unwrap().__generation() + }; + assert_eq!(original_instance, same_instance); + + ProxyManager::reset(); + let new_instance = { + let mutex = ProxyManager::get_instance(); + let guard = mutex.lock().unwrap(); + guard.as_ref().unwrap().__generation() + }; + assert_ne!(same_instance, new_instance); } #[test] |
