forked from extern/nushell
45fe3be83e
# 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
37 lines
932 B
Rust
37 lines
932 B
Rust
use nu_protocol::{Span, Value};
|
|
|
|
#[test]
|
|
fn test_comparison_nothing() {
|
|
let values = vec![
|
|
Value::test_int(1),
|
|
Value::test_string("string"),
|
|
Value::test_float(1.0),
|
|
];
|
|
|
|
let nothing = Value::Nothing {
|
|
span: Span::test_data(),
|
|
};
|
|
|
|
for value in values {
|
|
assert!(matches!(
|
|
value.eq(Span::test_data(), ¬hing, Span::test_data()),
|
|
Ok(Value::Bool { val: false, .. })
|
|
));
|
|
|
|
assert!(matches!(
|
|
value.ne(Span::test_data(), ¬hing, Span::test_data()),
|
|
Ok(Value::Bool { val: true, .. })
|
|
));
|
|
|
|
assert!(matches!(
|
|
nothing.eq(Span::test_data(), &value, Span::test_data()),
|
|
Ok(Value::Bool { val: false, .. })
|
|
));
|
|
|
|
assert!(matches!(
|
|
nothing.ne(Span::test_data(), &value, Span::test_data()),
|
|
Ok(Value::Bool { val: true, .. })
|
|
));
|
|
}
|
|
}
|