1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 19:47:45 +00:00

Merge pull request #7155 from cakebaker/numfmt_expand_test

numfmt: extract test from other test & expand it
This commit is contained in:
Sylvestre Ledru 2025-01-18 22:38:06 +01:00 committed by GitHub
commit b6f6d93a90
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,7 +2,7 @@
// //
// For the full copyright and license information, please view the LICENSE // For the full copyright and license information, please view the LICENSE
// file that was distributed with this source code. // file that was distributed with this source code.
// spell-checker:ignore (paths) gnutest // spell-checker:ignore (paths) gnutest ronna quetta
use crate::common::util::TestScenario; use crate::common::util::TestScenario;
@ -239,18 +239,31 @@ fn test_should_report_invalid_empty_number_on_blank_stdin() {
} }
#[test] #[test]
fn test_should_report_invalid_suffix_on_stdin() { fn test_suffixes() {
for c in b'a'..=b'z' { // TODO add support for ronna (R) and quetta (Q)
let valid_suffixes = ['K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y' /*'R' , 'Q'*/];
// TODO implement special handling of 'K'
for c in ('A'..='Z').chain('a'..='z') {
let args = ["--from=si", "--to=si", &format!("1{c}")];
if valid_suffixes.contains(&c) {
new_ucmd!() new_ucmd!()
.args(&["--from=auto"]) .args(&args)
.pipe_in(format!("1{}", c as char)) .succeeds()
.stdout_only(format!("1.0{c}\n"));
} else {
new_ucmd!()
.args(&args)
.fails() .fails()
.stderr_is(format!( .code_is(2)
"numfmt: invalid suffix in input: '1{}'\n", .stderr_only(format!("numfmt: invalid suffix in input: '1{c}'\n"));
c as char }
)); }
} }
#[test]
fn test_should_report_invalid_suffix_on_nan() {
// GNU numfmt reports this one as “invalid number” // GNU numfmt reports this one as “invalid number”
new_ucmd!() new_ucmd!()
.args(&["--from=auto"]) .args(&["--from=auto"])