mirror of
https://github.com/nushell/nushell.git
synced 2025-04-22 20:28:22 +02:00
Actual (results) on left hand side and expected values on the right.
"toint" makes it more clear than "int" under Str(strutils) plugin.
This commit is contained in:
parent
e7fb58ef9a
commit
d105d77928
@ -9,7 +9,7 @@ struct Str {
|
|||||||
error: Option<String>,
|
error: Option<String>,
|
||||||
downcase: bool,
|
downcase: bool,
|
||||||
upcase: bool,
|
upcase: bool,
|
||||||
int: bool,
|
toint: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Str {
|
impl Str {
|
||||||
@ -19,12 +19,12 @@ impl Str {
|
|||||||
error: None,
|
error: None,
|
||||||
downcase: false,
|
downcase: false,
|
||||||
upcase: false,
|
upcase: false,
|
||||||
int: false,
|
toint: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn actions(&self) -> Vec<bool> {
|
fn actions(&self) -> Vec<bool> {
|
||||||
vec![self.downcase, self.upcase, self.int]
|
vec![self.downcase, self.upcase, self.toint]
|
||||||
}
|
}
|
||||||
|
|
||||||
fn actions_desired(&self) -> u8 {
|
fn actions_desired(&self) -> u8 {
|
||||||
@ -54,7 +54,7 @@ impl Str {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn for_to_int(&mut self) {
|
fn for_to_int(&mut self) {
|
||||||
self.int = true;
|
self.toint = true;
|
||||||
|
|
||||||
if !self.is_valid() {
|
if !self.is_valid() {
|
||||||
self.log_error("can only apply one")
|
self.log_error("can only apply one")
|
||||||
@ -86,7 +86,7 @@ impl Str {
|
|||||||
return Value::string(input.to_ascii_uppercase());
|
return Value::string(input.to_ascii_uppercase());
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.int {
|
if self.toint {
|
||||||
match input.trim().parse::<i64>() {
|
match input.trim().parse::<i64>() {
|
||||||
Ok(v) => return Value::int(v),
|
Ok(v) => return Value::int(v),
|
||||||
Err(_) => return Value::string(input),
|
Err(_) => return Value::string(input),
|
||||||
@ -305,7 +305,7 @@ mod tests {
|
|||||||
.begin_filter(CallStub::new().with_long_flag("to-int").create())
|
.begin_filter(CallStub::new().with_long_flag("to-int").create())
|
||||||
.is_ok());
|
.is_ok());
|
||||||
assert!(plugin.is_valid());
|
assert!(plugin.is_valid());
|
||||||
assert!(plugin.int);
|
assert!(plugin.toint);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -322,7 +322,7 @@ mod tests {
|
|||||||
)
|
)
|
||||||
.is_err());
|
.is_err());
|
||||||
assert!(!plugin.is_valid());
|
assert!(!plugin.is_valid());
|
||||||
assert_eq!(Some("can only apply one".to_string()), plugin.error);
|
assert_eq!(plugin.error, Some("can only apply one".to_string()));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -337,28 +337,28 @@ mod tests {
|
|||||||
)
|
)
|
||||||
.is_ok());
|
.is_ok());
|
||||||
|
|
||||||
assert_eq!(Some("package.description".to_string()), plugin.field);
|
assert_eq!(plugin.field, Some("package.description".to_string()));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn str_downcases() {
|
fn str_downcases() {
|
||||||
let mut strutils = Str::new();
|
let mut strutils = Str::new();
|
||||||
strutils.for_downcase();
|
strutils.for_downcase();
|
||||||
assert_eq!(Value::string("andres"), strutils.apply("ANDRES"));
|
assert_eq!(strutils.apply("ANDRES"), Value::string("andres"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn str_upcases() {
|
fn str_upcases() {
|
||||||
let mut strutils = Str::new();
|
let mut strutils = Str::new();
|
||||||
strutils.for_upcase();
|
strutils.for_upcase();
|
||||||
assert_eq!(Value::string("ANDRES"), strutils.apply("andres"));
|
assert_eq!(strutils.apply("andres"), Value::string("ANDRES"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn str_to_int() {
|
fn str_to_int() {
|
||||||
let mut strutils = Str::new();
|
let mut strutils = Str::new();
|
||||||
strutils.for_to_int();
|
strutils.for_to_int();
|
||||||
assert_eq!(Value::int(9999 as i64), strutils.apply("9999"));
|
assert_eq!(strutils.apply("9999"), Value::int(9999 as i64));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Loading…
Reference in New Issue
Block a user