aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-21 04:56:53 +0900
committernsfisis <nsfisis@gmail.com>2026-06-21 04:56:53 +0900
commit7fece52d9e414060572580fa90214c5df72b92f1 (patch)
treef79f2d02bcab4dc002675cae07ee8e01cd835578
parentc0cc563e250812ebef0bb86f2c007fbb5c1dbd92 (diff)
downloadphp-shirabe-7fece52d9e414060572580fa90214c5df72b92f1.tar.gz
php-shirabe-7fece52d9e414060572580fa90214c5df72b92f1.tar.zst
php-shirabe-7fece52d9e414060572580fa90214c5df72b92f1.zip
test(json): port JsonManipulatorTest as stubs
JsonManipulator's text-rewriting operations reach addcslashes (todo!()) in the php-shim, so all 50 cases are stubbed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
-rw-r--r--crates/shirabe/tests/json/json_manipulator_test.rs64
-rw-r--r--crates/shirabe/tests/json/main.rs1
2 files changed, 65 insertions, 0 deletions
diff --git a/crates/shirabe/tests/json/json_manipulator_test.rs b/crates/shirabe/tests/json/json_manipulator_test.rs
index 491646b..33af3a9 100644
--- a/crates/shirabe/tests/json/json_manipulator_test.rs
+++ b/crates/shirabe/tests/json/json_manipulator_test.rs
@@ -1 +1,65 @@
//! ref: composer/tests/Composer/Test/Json/JsonManipulatorTest.php
+
+// JsonManipulator's text-rewriting operations reach addcslashes, which is todo!() in the
+// php-shim, so none of these cases can run yet.
+
+macro_rules! stub {
+ ($name:ident) => {
+ #[test]
+ #[ignore = "JsonManipulator operations reach addcslashes (todo!()) in the php-shim"]
+ fn $name() {
+ todo!()
+ }
+ };
+}
+
+stub!(test_add_link);
+stub!(test_add_link_and_sort_packages);
+stub!(test_remove_sub_node);
+stub!(test_remove_sub_node_from_require);
+stub!(test_remove_sub_node_preserves_object_type_when_empty);
+stub!(test_remove_sub_node_preserves_object_type_when_empty2);
+stub!(test_add_sub_node_in_require);
+stub!(test_add_extra_with_package);
+stub!(test_add_config_with_package);
+stub!(test_add_suggest_with_package);
+stub!(test_add_repository_can_initialize_empty_repositories);
+stub!(test_add_repository_can_initialize_from_scratch);
+stub!(test_add_repository_can_append);
+stub!(test_add_repository_can_prepend);
+stub!(test_add_repository);
+stub!(test_add_repository_can_override_deep_repos);
+stub!(test_set_url_in_repository);
+stub!(test_insert_repository_before_and_after_by_name);
+stub!(test_remove_repository_removes_from_assoc_but_does_not_converts_from_assoc_to_list);
+stub!(test_remove_repository_removes_from_list);
+stub!(test_add_repository_converts_from_assoc_to_list);
+stub!(test_add_config_setting_escapes);
+stub!(test_add_config_setting_works_from_scratch);
+stub!(test_add_config_setting_can_add);
+stub!(test_add_config_setting_can_overwrite);
+stub!(test_add_config_setting_can_overwrite_numbers);
+stub!(test_add_config_setting_can_overwrite_arrays);
+stub!(test_add_config_setting_can_add_sub_key_in_empty_config);
+stub!(test_add_config_setting_can_add_sub_key_in_empty_val);
+stub!(test_add_config_setting_can_add_sub_key_in_hash);
+stub!(test_add_root_setting_does_not_break_dots);
+stub!(test_remove_config_setting_can_remove_sub_key_in_hash);
+stub!(test_remove_config_setting_can_remove_sub_key_in_hash_with_siblings);
+stub!(test_add_main_key);
+stub!(test_add_main_key_with_content_having_dollar_sign_followed_by_digit);
+stub!(test_add_main_key_with_content_having_dollar_sign_followed_by_digit2);
+stub!(test_update_main_key);
+stub!(test_update_main_key2);
+stub!(test_update_main_key3);
+stub!(test_update_main_key_with_content_having_dollar_sign_followed_by_digit);
+stub!(test_remove_main_key);
+stub!(test_remove_main_key_if_empty);
+stub!(test_remove_main_key_removes_key_where_value_is_null);
+stub!(test_indent_detection);
+stub!(test_remove_main_key_at_end_of_file);
+stub!(test_add_list_item);
+stub!(test_remove_list_item);
+stub!(test_insert_list_item);
+stub!(test_escaped_unicode_does_not_cause_backtrack_limit_error_github_issue8131);
+stub!(test_large_file_does_not_cause_backtrack_limit_error_github_issue9595);
diff --git a/crates/shirabe/tests/json/main.rs b/crates/shirabe/tests/json/main.rs
index 6fdaa25..279b5b5 100644
--- a/crates/shirabe/tests/json/main.rs
+++ b/crates/shirabe/tests/json/main.rs
@@ -1,3 +1,4 @@
mod json_file_test;
+mod json_manipulator_test;
mod json_formatter_test;
mod json_validation_exception_test;