Opinionated Android 15+ Linux Terminal Setup
android linux command-line-tools

setup tests

+67
+3
.github/workflows/ci.yml
··· 23 23 run: | 24 24 type cargo 25 25 cargo fmt --all --check 26 + - name: Run tests 27 + run: | 28 + cargo test --all --release
+3
.tangled/workflows/fmt.yml
··· 14 14 - name: "cargo fmt" 15 15 command: | 16 16 cargo fmt --all --check 17 + - name: "cargo test" 18 + command: | 19 + cargo test --all --release
+61
src/cmd/setup.rs
··· 155 155 156 156 Some(format!("{}-{}", username, repo)) 157 157 } 158 + 159 + #[cfg(test)] 160 + mod tests { 161 + use super::*; 162 + 163 + #[test] 164 + fn test_extract_repo_name() { 165 + let url = "https://github.com/tsirysndr/pkgs.git"; 166 + let expected = Some("tsirysndr-pkgs".into()); 167 + let result = extract_repo_name(url); 168 + assert_eq!(result, expected); 169 + } 170 + 171 + #[test] 172 + fn test_extract_repo_name_no_git() { 173 + let url = "https://github.com/tsirysndr/pkgs"; 174 + let expected = Some("tsirysndr-pkgs".into()); 175 + let result = extract_repo_name(url); 176 + assert_eq!(result, expected); 177 + } 178 + 179 + #[test] 180 + fn test_extract_repo_name_invalid_url() { 181 + let url = "invalid-url"; 182 + let expected = None; 183 + let result = extract_repo_name(url); 184 + assert_eq!(result, expected); 185 + } 186 + 187 + #[test] 188 + fn test_parse_config_path_github() { 189 + let path = "github:tsirysndr/pkgs"; 190 + let expected = Some("https://github.com/tsirysndr/pkgs.git".into()); 191 + let result = parse_config_path(path).ok(); 192 + assert_eq!(result, expected); 193 + } 194 + 195 + #[test] 196 + fn test_parse_config_path_tangled() { 197 + let path = "tangled:@tsirysandratraina/pkgs"; 198 + let expected = Some("https://tangled.sh/@tsirysandratraina/pkgs".into()); 199 + let result = parse_config_path(path).ok(); 200 + assert_eq!(result, expected); 201 + } 202 + 203 + #[test] 204 + fn test_parse_config_path_git_url() { 205 + let path = "https://github.com/tsirysndr/pkgs.git"; 206 + let expected = Some("https://github.com/tsirysndr/pkgs.git".into()); 207 + let result = parse_config_path(path).ok(); 208 + assert_eq!(result, expected); 209 + } 210 + 211 + #[test] 212 + fn test_parse_config_path() { 213 + let path = "/custom/path/to/oh-my-droid.toml"; 214 + let expected = Some("/custom/path/to/oh-my-droid.toml".into()); 215 + let result = parse_config_path(path).ok(); 216 + assert_eq!(result, expected); 217 + } 218 + }