Skip to content

Commit eaf1028

Browse files
authored
Fix rubyfmt name in CLI version output (#804)
1 parent 5290e84 commit eaf1028

File tree

2 files changed

+58
-1
lines changed

2 files changed

+58
-1
lines changed

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ enum ExecutionError {
3535

3636
/// Rubyfmt CLI
3737
#[derive(Debug, Parser)]
38-
#[clap(bin_name = "rubyfmt", author, version, about, long_about = None)]
38+
#[clap(name = "rubyfmt", bin_name = "rubyfmt", author, version, about, long_about = None)]
3939
struct CommandlineOpts {
4040
/// Turn on check mode. This outputs diffs of inputs to STDOUT. Will exit non-zero when differences are detected.
4141
#[clap(short, long)]

tests/cli_interface_test.rs

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,3 +785,60 @@ fn test_formats_non_rb_files() {
785785
.success();
786786
assert_eq!("a(1, 2, 3)\n", read_to_string(file.path()).unwrap());
787787
}
788+
789+
#[test]
790+
fn test_version_uses_rubyfmt_name() {
791+
let output = Command::cargo_bin("rubyfmt-main")
792+
.unwrap()
793+
.arg("-V")
794+
.output()
795+
.unwrap();
796+
797+
let stdout = String::from_utf8_lossy(&output.stdout);
798+
assert!(
799+
stdout.starts_with("rubyfmt "),
800+
"Version output should start with 'rubyfmt ', got: {stdout}"
801+
);
802+
assert!(
803+
!stdout.contains("rubyfmt-main"),
804+
"Version output should not contain 'rubyfmt-main', got: {stdout}"
805+
);
806+
}
807+
808+
#[test]
809+
fn test_help_uses_rubyfmt_name() {
810+
let output = Command::cargo_bin("rubyfmt-main")
811+
.unwrap()
812+
.arg("-h")
813+
.output()
814+
.unwrap();
815+
816+
let stdout = String::from_utf8_lossy(&output.stdout);
817+
assert!(
818+
stdout.contains("Usage: rubyfmt"),
819+
"Help output should contain 'Usage: rubyfmt', got: {stdout}"
820+
);
821+
assert!(
822+
!stdout.contains("rubyfmt-main"),
823+
"Help output should not contain 'rubyfmt-main', got: {stdout}"
824+
);
825+
}
826+
827+
#[test]
828+
fn test_error_uses_rubyfmt_name() {
829+
let output = Command::cargo_bin("rubyfmt-main")
830+
.unwrap()
831+
.arg("--not-a-real-flag")
832+
.output()
833+
.unwrap();
834+
835+
let stderr = String::from_utf8_lossy(&output.stderr);
836+
assert!(
837+
stderr.contains("rubyfmt"),
838+
"Error output should contain 'rubyfmt', got: {stderr}"
839+
);
840+
assert!(
841+
!stderr.contains("rubyfmt-main"),
842+
"Error output should not contain 'rubyfmt-main', got: {stderr}"
843+
);
844+
}

0 commit comments

Comments
 (0)