blob: 7c296a044344aa3d5fb3e1bda0ddbe1bc669fafe (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
//! ref: composer/tests/Composer/Test/Command/InitCommandTest.php
// The author/namespace/git-config helpers are protected methods exercised via reflection
// in PHP; the run cases need the ApplicationTester. Neither is available here.
use shirabe::command::init_command::InitCommand;
use shirabe_php_shim::server_set;
fn set_up() {
server_set("COMPOSER_DEFAULT_AUTHOR", "John Smith".to_string());
server_set("COMPOSER_DEFAULT_EMAIL", "john@example.com".to_string());
}
#[ignore = "InitCommand::parse_author_string is private; integration tests cannot reach it (PHP uses reflection)"]
#[test]
fn test_parse_valid_author_string() {
set_up();
todo!()
}
#[ignore = "InitCommand::parse_author_string is private; integration tests cannot reach it (PHP uses reflection)"]
#[test]
fn test_parse_empty_author_string() {
set_up();
todo!()
}
#[ignore = "InitCommand::parse_author_string is private; integration tests cannot reach it (PHP uses reflection)"]
#[test]
fn test_parse_author_string_with_invalid_email() {
set_up();
todo!()
}
#[ignore]
#[test]
fn test_namespace_from_valid_package_name() {
set_up();
let command = InitCommand::new();
let namespace = command.namespace_from_package_name("new_projects.acme-extra/package-name");
assert_eq!(
Some("NewProjectsAcmeExtra\\PackageName".to_string()),
namespace
);
}
#[ignore]
#[test]
fn test_namespace_from_invalid_package_name() {
set_up();
let command = InitCommand::new();
let namespace = command.namespace_from_package_name("invalid-package-name");
assert_eq!(None, namespace);
}
#[ignore]
#[test]
fn test_namespace_from_missing_package_name() {
set_up();
let command = InitCommand::new();
let namespace = command.namespace_from_package_name("");
assert_eq!(None, namespace);
}
#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure, not implemented"]
#[test]
fn test_run_command() {
set_up();
todo!()
}
#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure, not implemented"]
#[test]
fn test_run_command_invalid() {
set_up();
todo!()
}
#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure, not implemented"]
#[test]
fn test_run_guess_name_from_dir_sanitizes_dir() {
set_up();
todo!()
}
#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester with set_inputs) infrastructure, not implemented"]
#[test]
fn test_interactive_run() {
set_up();
todo!()
}
#[ignore = "InitCommand::format_authors is pub(crate); integration tests cannot reach it (PHP subclasses via DummyInitCommand)"]
#[test]
fn test_format_authors() {
set_up();
todo!()
}
#[ignore = "InitCommand::get_git_config is pub(crate); integration tests cannot reach it (PHP subclasses via DummyInitCommand)"]
#[test]
fn test_get_git_config() {
set_up();
todo!()
}
#[ignore = "InitCommand::add_vendor_ignore is pub(crate) and test needs TestCase::get_unique_tmp_directory; neither reachable from integration tests"]
#[test]
fn test_add_vendor_ignore() {
set_up();
todo!()
}
#[ignore = "InitCommand::has_vendor_ignore/add_vendor_ignore are pub(crate) and test needs TestCase::get_unique_tmp_directory; neither reachable from integration tests"]
#[test]
fn test_has_vendor_ignore() {
set_up();
todo!()
}
|