aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/autoload/autoload_generator_test.rs
blob: 6b7c11a6eb57f72b50a02d3e77271bbaa99173a2 (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//! ref: composer/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php

/// Creates the working/vendor temp directories, switches into the working dir, and
/// builds the AutoloadGenerator from a mocked Config/InstallationManager/
/// InstalledRepository/EventDispatcher and a BufferIO. The mocks and temp-dir
/// helpers are not available here, so this remains a stub.
fn set_up() {
    todo!()
}

/// Restores the original working directory and removes the working/vendor
/// directories created by `set_up`, which is itself a stub.
fn tear_down() {
    todo!()
}

struct TearDown;

impl Drop for TearDown {
    fn drop(&mut self) {
        tear_down();
    }
}

// These exercise AutoloadGenerator end-to-end: they build packages, write fixture files to
// a temp dir, run dump() through a mocked InstalledRepository/EventDispatcher and compare
// the generated autoload files. The integration setup (fixtures, mocks, filesystem) is not
// ported yet.
macro_rules! stub {
    ($name:ident) => {
        #[test]
        #[ignore = "not yet ported (AutoloadGenerator integration: fixtures, mocked installers and generated-file comparison)"]
        fn $name() {
            todo!()
        }
    };
}

stub!(test_root_package_autoloading);
stub!(test_root_package_dev_autoloading);
stub!(test_root_package_dev_autoloading_disabled_by_default);
stub!(test_vendor_dir_same_as_working_dir);
stub!(test_root_package_autoloading_alternative_vendor_dir);
stub!(test_root_package_autoloading_with_target_dir);
stub!(test_duplicate_files_warning);
stub!(test_vendors_autoloading);
stub!(test_vendors_autoloading_with_metapackages);
stub!(test_non_dev_autoload_exclusion_with_recursion);
stub!(test_non_dev_autoload_should_include_replaced_packages);
stub!(test_non_dev_autoload_exclusion_with_recursion_replace);
stub!(test_non_dev_autoload_replaces_nested_requirements);
stub!(test_phar_autoload);
stub!(test_psr_to_class_map_ignores_non_existing_dir);
stub!(test_psr_to_class_map_ignores_non_psr_classes);
stub!(test_vendors_class_map_autoloading);
stub!(test_vendors_class_map_autoloading_with_target_dir);
stub!(test_class_map_autoloading_empty_dir_and_exact_file);
stub!(test_class_map_autoloading_authoritative_and_apcu);
stub!(test_class_map_autoloading_authoritative_and_apcu_prefix);
stub!(test_files_autoload_generation);
stub!(test_files_autoload_generation_remove_extra_entities_from_autoload_files);
stub!(test_files_autoload_order_by_dependencies);
stub!(test_override_vendors_autoloading);
stub!(test_include_path_file_generation);
stub!(test_include_paths_are_prepended_in_autoload_file);
stub!(test_include_paths_in_root_package);
stub!(test_include_path_file_without_paths_is_skipped);
stub!(test_pre_and_post_events_are_dispatched_during_autoload_dump);
stub!(test_use_global_include_path);
stub!(test_vendor_dir_excluded_from_working_dir);
stub!(test_up_level_relative_paths);
stub!(test_autoload_rules_in_package_that_does_not_exist_on_disk);
stub!(test_empty_paths);
stub!(test_vendor_substring_path);
stub!(test_exclude_from_classmap);
stub!(test_generates_platform_check);
stub!(test_absolute_symlink_with_psr4_does_not_generate_warnings);
stub!(test_absolute_symlink_with_classmap_exclude_from_classmap);