forked from extern/nushell
Further cleanup of Span::test_data
usage + span fixes (#7595)
# Description Inspired by #7592 For brevity use `Value::test_{string,int,float,bool}` Includes fixes to commands that were abusing `Span::test_data` in their implementation. Now the call span is used where possible or the explicit `Span::unknonw` is used. ## Command fixes - Fix abuse of `Span::test_data()` in `query_xml` - Fix abuse of `Span::test_data()` in `term size` - Fix abuse of `Span::test_data()` in `seq date` - Fix two abuses of `Span::test_data` in `nu-cli` - Change `Span::test_data` to `Span::unknown` in `keybindings listen` - Add proper call span to `registry query` - Fix span use in `nu_plugin_query` - Fix span assignment in `select` - Use `Span::unknown` instead of `test_data` in more places ## Other - Use `Value::test_int`/`test_float()` consistently - More `test_string` and `test_bool` - Fix unused imports # User-Facing Changes Some commands may now provide more helpful spans for downstream use in errors
This commit is contained in:
committed by
GitHub
parent
dd6fe6a04a
commit
45fe3be83e
@ -249,7 +249,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn base64_decode_binhex() {
|
||||
let word = Value::string("A5\"KC9jRB@IIF'8bF!", Span::test_data());
|
||||
let word = Value::test_string("A5\"KC9jRB@IIF'8bF!");
|
||||
let expected = Value::binary(b"a binhex test".as_slice(), Span::test_data());
|
||||
|
||||
let actual = action(
|
||||
@ -272,7 +272,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn base64_decode_binhex_with_new_line_input() {
|
||||
let word = Value::string("A5\"KC9jRB\n@IIF'8bF!", Span::test_data());
|
||||
let word = Value::test_string("A5\"KC9jRB\n@IIF'8bF!");
|
||||
let expected = Value::binary(b"a binhex test".as_slice(), Span::test_data());
|
||||
|
||||
let actual = action(
|
||||
|
@ -2,7 +2,7 @@ use super::base64::{operate, ActionType, CHARACTER_SET_DESC};
|
||||
use nu_protocol::ast::Call;
|
||||
use nu_protocol::engine::{Command, EngineState, Stack};
|
||||
use nu_protocol::{
|
||||
Category, Example, PipelineData, ShellError, Signature, Span, SyntaxShape, Type, Value,
|
||||
Category, Example, PipelineData, ShellError, Signature, SyntaxShape, Type, Value,
|
||||
};
|
||||
|
||||
#[derive(Clone)]
|
||||
@ -54,7 +54,7 @@ impl Command for EncodeBase64 {
|
||||
Example {
|
||||
description: "Encode a string with the binhex character set",
|
||||
example: "'Some Data' | encode base64 --character-set binhex",
|
||||
result: Some(Value::string(r#"7epXB5"%A@4J"#, Span::test_data())),
|
||||
result: Some(Value::test_string(r#"7epXB5"%A@4J"#)),
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -55,11 +55,11 @@ impl Command for Size {
|
||||
"graphemes".into(),
|
||||
],
|
||||
vals: vec![
|
||||
Value::int(1, Span::test_data()),
|
||||
Value::int(7, Span::test_data()),
|
||||
Value::int(38, Span::test_data()),
|
||||
Value::int(38, Span::test_data()),
|
||||
Value::int(38, Span::test_data()),
|
||||
Value::test_int(1),
|
||||
Value::test_int(7),
|
||||
Value::test_int(38),
|
||||
Value::test_int(38),
|
||||
Value::test_int(38),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
}),
|
||||
@ -76,11 +76,11 @@ impl Command for Size {
|
||||
"graphemes".into(),
|
||||
],
|
||||
vals: vec![
|
||||
Value::int(1, Span::test_data()),
|
||||
Value::int(6, Span::test_data()),
|
||||
Value::int(18, Span::test_data()),
|
||||
Value::int(6, Span::test_data()),
|
||||
Value::int(6, Span::test_data()),
|
||||
Value::test_int(1),
|
||||
Value::test_int(6),
|
||||
Value::test_int(18),
|
||||
Value::test_int(6),
|
||||
Value::test_int(6),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
}),
|
||||
@ -97,11 +97,11 @@ impl Command for Size {
|
||||
"graphemes".into(),
|
||||
],
|
||||
vals: vec![
|
||||
Value::int(1, Span::test_data()),
|
||||
Value::int(2, Span::test_data()),
|
||||
Value::int(15, Span::test_data()),
|
||||
Value::int(14, Span::test_data()),
|
||||
Value::int(13, Span::test_data()),
|
||||
Value::test_int(1),
|
||||
Value::test_int(2),
|
||||
Value::test_int(15),
|
||||
Value::test_int(14),
|
||||
Value::test_int(13),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
}),
|
||||
|
@ -73,12 +73,12 @@ impl Command for SubCommand {
|
||||
Example {
|
||||
description: "Check if input contains string",
|
||||
example: "'my_library.rb' | str contains '.rb'",
|
||||
result: Some(Value::boolean(true, Span::test_data())),
|
||||
result: Some(Value::test_bool(true)),
|
||||
},
|
||||
Example {
|
||||
description: "Check if input contains string case insensitive",
|
||||
example: "'my_library.rb' | str contains -i '.RB'",
|
||||
result: Some(Value::boolean(true, Span::test_data())),
|
||||
result: Some(Value::test_bool(true)),
|
||||
},
|
||||
Example {
|
||||
description: "Check if input contains string in a table",
|
||||
@ -86,10 +86,7 @@ impl Command for SubCommand {
|
||||
result: Some(Value::List {
|
||||
vals: vec![Value::Record {
|
||||
cols: vec!["ColA".to_string(), "ColB".to_string()],
|
||||
vals: vec![
|
||||
Value::boolean(true, Span::test_data()),
|
||||
Value::test_int(100),
|
||||
],
|
||||
vals: vec![Value::test_bool(true), Value::test_int(100)],
|
||||
span: Span::test_data(),
|
||||
}],
|
||||
span: Span::test_data(),
|
||||
@ -101,10 +98,7 @@ impl Command for SubCommand {
|
||||
result: Some(Value::List {
|
||||
vals: vec![Value::Record {
|
||||
cols: vec!["ColA".to_string(), "ColB".to_string()],
|
||||
vals: vec![
|
||||
Value::boolean(true, Span::test_data()),
|
||||
Value::test_int(100),
|
||||
],
|
||||
vals: vec![Value::test_bool(true), Value::test_int(100)],
|
||||
span: Span::test_data(),
|
||||
}],
|
||||
span: Span::test_data(),
|
||||
@ -116,10 +110,7 @@ impl Command for SubCommand {
|
||||
result: Some(Value::List {
|
||||
vals: vec![Value::Record {
|
||||
cols: vec!["ColA".to_string(), "ColB".to_string()],
|
||||
vals: vec![
|
||||
Value::boolean(true, Span::test_data()),
|
||||
Value::boolean(true, Span::test_data()),
|
||||
],
|
||||
vals: vec![Value::test_bool(true), Value::test_bool(true)],
|
||||
span: Span::test_data(),
|
||||
}],
|
||||
span: Span::test_data(),
|
||||
@ -128,16 +119,16 @@ impl Command for SubCommand {
|
||||
Example {
|
||||
description: "Check if input string contains 'banana'",
|
||||
example: "'hello' | str contains 'banana'",
|
||||
result: Some(Value::boolean(false, Span::test_data())),
|
||||
result: Some(Value::test_bool(false)),
|
||||
},
|
||||
Example {
|
||||
description: "Check if list contains string",
|
||||
example: "[one two three] | str contains o",
|
||||
result: Some(Value::List {
|
||||
vals: vec![
|
||||
Value::boolean(true, Span::test_data()),
|
||||
Value::boolean(true, Span::test_data()),
|
||||
Value::boolean(false, Span::test_data()),
|
||||
Value::test_bool(true),
|
||||
Value::test_bool(true),
|
||||
Value::test_bool(false),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
}),
|
||||
@ -147,9 +138,9 @@ impl Command for SubCommand {
|
||||
example: "[one two three] | str contains -n o",
|
||||
result: Some(Value::List {
|
||||
vals: vec![
|
||||
Value::boolean(false, Span::test_data()),
|
||||
Value::boolean(false, Span::test_data()),
|
||||
Value::boolean(true, Span::test_data()),
|
||||
Value::test_bool(false),
|
||||
Value::test_bool(false),
|
||||
Value::test_bool(true),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
}),
|
||||
|
@ -67,12 +67,12 @@ impl Command for SubCommand {
|
||||
Example {
|
||||
description: "Checks if string ends with '.rb'",
|
||||
example: "'my_library.rb' | str ends-with '.rb'",
|
||||
result: Some(Value::boolean(true, Span::test_data())),
|
||||
result: Some(Value::test_bool(true)),
|
||||
},
|
||||
Example {
|
||||
description: "Checks if string ends with '.txt'",
|
||||
example: "'my_library.rb' | str ends-with '.txt'",
|
||||
result: Some(Value::boolean(false, Span::test_data())),
|
||||
result: Some(Value::test_bool(false)),
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -70,17 +70,17 @@ impl Command for SubCommand {
|
||||
Example {
|
||||
description: "Checks if input string starts with 'my'",
|
||||
example: "'my_library.rb' | str starts-with 'my'",
|
||||
result: Some(Value::boolean(true, Span::test_data())),
|
||||
result: Some(Value::test_bool(true)),
|
||||
},
|
||||
Example {
|
||||
description: "Checks if input string starts with 'my'",
|
||||
example: "'Cargo.toml' | str starts-with 'Car'",
|
||||
result: Some(Value::boolean(true, Span::test_data())),
|
||||
result: Some(Value::test_bool(true)),
|
||||
},
|
||||
Example {
|
||||
description: "Checks if input string starts with 'my'",
|
||||
example: "'Cargo.toml' | str starts-with '.toml'",
|
||||
result: Some(Value::boolean(false, Span::test_data())),
|
||||
result: Some(Value::test_bool(false)),
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -333,7 +333,7 @@ mod tests {
|
||||
Span::test_data(),
|
||||
);
|
||||
|
||||
assert_eq!(actual, Value::string(expected, Span::test_data()));
|
||||
assert_eq!(actual, Value::test_string(expected));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -302,7 +302,7 @@ mod tests {
|
||||
cols: cols.iter().map(|x| x.to_string()).collect(),
|
||||
vals: vals
|
||||
.iter()
|
||||
.map(|x| Value::string(x.to_string(), Span::test_data()))
|
||||
.map(|x| Value::test_string(x.to_string()))
|
||||
.collect(),
|
||||
span: Span::test_data(),
|
||||
}
|
||||
@ -312,7 +312,7 @@ mod tests {
|
||||
Value::List {
|
||||
vals: vals
|
||||
.iter()
|
||||
.map(|x| Value::string(x.to_string(), Span::test_data()))
|
||||
.map(|x| Value::test_string(x.to_string()))
|
||||
.collect(),
|
||||
span: Span::test_data(),
|
||||
}
|
||||
@ -477,7 +477,7 @@ mod tests {
|
||||
let row = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string(" nu shell "),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string(" d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -485,7 +485,7 @@ mod tests {
|
||||
let expected = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string("nushell"),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string("d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -549,7 +549,7 @@ mod tests {
|
||||
let row = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string("##nu####shell##"),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string("#d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -557,7 +557,7 @@ mod tests {
|
||||
let expected = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string("nushell"),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string("d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -659,7 +659,7 @@ mod tests {
|
||||
let row = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string(" a "),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string(" d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -667,7 +667,7 @@ mod tests {
|
||||
let expected = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string("a "),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string("d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -784,7 +784,7 @@ mod tests {
|
||||
let row = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string(" a "),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string(" d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -792,7 +792,7 @@ mod tests {
|
||||
let expected = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string(" a"),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string(" d"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -911,7 +911,7 @@ mod tests {
|
||||
let row = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string(" a b c d "),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string(" b c d e f"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
@ -919,7 +919,7 @@ mod tests {
|
||||
let expected = Value::List {
|
||||
vals: vec![
|
||||
Value::test_string("a b c d"),
|
||||
Value::int(65, Span::test_data()),
|
||||
Value::test_int(65),
|
||||
Value::test_string("b c d e f"),
|
||||
],
|
||||
span: Span::test_data(),
|
||||
|
Reference in New Issue
Block a user