mirror of
https://github.com/nushell/nushell.git
synced 2025-07-26 02:45:46 +02:00
.cargo
.githooks
.github
assets
benches
crates
nu-cli
nu-cmd-lang
nu-color-config
nu-command
assets
src
tests
commands
assignment
bytes
date
hash_
math
move_
network
path
platform
query
random
skip
str_
take
url
alias.rs
all.rs
any.rs
append.rs
break_.rs
cal.rs
cd.rs
compact.rs
continue_.rs
cp.rs
def.rs
default.rs
do_.rs
drop.rs
each.rs
echo.rs
empty.rs
error_make.rs
every.rs
exec.rs
export_def.rs
fill.rs
find.rs
first.rs
flatten.rs
for_.rs
format.rs
get.rs
glob.rs
group_by.rs
headers.rs
help.rs
histogram.rs
insert.rs
into_filesize.rs
into_int.rs
join.rs
last.rs
length.rs
let_.rs
lines.rs
loop_.rs
ls.rs
match_.rs
merge.rs
mkdir.rs
mod.rs
mut_.rs
nu_check.rs
open.rs
par_each.rs
parse.rs
prepend.rs
print.rs
range.rs
redirection.rs
reduce.rs
reject.rs
rename.rs
return_.rs
reverse.rs
rm.rs
roll.rs
rotate.rs
run_external.rs
save.rs
select.rs
semicolon.rs
seq.rs
seq_char.rs
sort.rs
sort_by.rs
source_env.rs
split_by.rs
split_column.rs
split_row.rs
table.rs
to_text.rs
touch.rs
transpose.rs
try_.rs
uniq.rs
uniq_by.rs
update.rs
upsert.rs
use_.rs
where_.rs
which.rs
while_.rs
with_env.rs
wrap.rs
zip.rs
format_conversions
main.rs
Cargo.toml
LICENSE
nu-engine
nu-explore
nu-glob
nu-json
nu-parser
nu-path
nu-plugin
nu-pretty-hex
nu-protocol
nu-std
nu-system
nu-table
nu-term-grid
nu-test-support
nu-utils
nu_plugin_custom_values
nu_plugin_example
nu_plugin_formats
nu_plugin_gstat
nu_plugin_inc
nu_plugin_python
nu_plugin_query
README.md
docker
docs
images
pkg_mgrs
src
tests
wix
.gitignore
.typos.toml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Cargo.lock
Cargo.toml
Cross.toml
LICENSE
README.md
README.release.txt
build-all-maclin.sh
build-all-windows.cmd
build-all.nu
build.rs
codecov.yml
coverage-local.nu
coverage-local.sh
install-all.ps1
install-all.sh
register-plugins.nu
rust-toolchain.toml
toolkit.nu
uninstall-all.sh
# Description Lint: `clippy::uninlined_format_args` More readable in most situations. (May be slightly confusing for modifier format strings https://doc.rust-lang.org/std/fmt/index.html#formatting-parameters) Alternative to #7865 # User-Facing Changes None intended # Tests + Formatting (Ran `cargo +stable clippy --fix --workspace -- -A clippy::all -D clippy::uninlined_format_args` to achieve this. Depends on Rust `1.67`)
60 lines
1.4 KiB
Rust
60 lines
1.4 KiB
Rust
use nu_test_support::fs::Stub::FileWithContent;
|
|
use nu_test_support::playground::Playground;
|
|
use nu_test_support::{nu, pipeline};
|
|
|
|
const ZIP_POWERED_TEST_ASSERTION_SCRIPT: &str = r#"
|
|
export def expect [
|
|
left,
|
|
--to-eq,
|
|
right
|
|
] {
|
|
$left | zip $right | all {|row|
|
|
$row.name.0 == $row.name.1 and $row.commits.0 == $row.commits.1
|
|
}
|
|
}
|
|
"#;
|
|
|
|
#[test]
|
|
fn zips_two_tables() {
|
|
Playground::setup("zip_test_1", |dirs, nu| {
|
|
nu.with_files(vec![FileWithContent(
|
|
"zip_test.nu",
|
|
&format!("{ZIP_POWERED_TEST_ASSERTION_SCRIPT}\n"),
|
|
)]);
|
|
|
|
let actual = nu!(
|
|
cwd: ".", pipeline(
|
|
&format!(
|
|
r#"
|
|
use {} expect ;
|
|
|
|
let contributors = ([
|
|
[name, commits];
|
|
[andres, 10]
|
|
[ jt, 20]
|
|
]);
|
|
|
|
let actual = ($contributors | upsert commits {{ |i| ($i.commits + 10) }});
|
|
|
|
expect $actual --to-eq [[name, commits]; [andres, 20] [jt, 30]]
|
|
"#,
|
|
dirs.test().join("zip_test.nu").display()
|
|
)
|
|
));
|
|
|
|
assert_eq!(actual.out, "true");
|
|
})
|
|
}
|
|
|
|
#[test]
|
|
fn zips_two_lists() {
|
|
let actual = nu!(
|
|
cwd: ".", pipeline(
|
|
r#"
|
|
echo [0 2 4 6 8] | zip [1 3 5 7 9] | flatten | into string | str join '-'
|
|
"#
|
|
));
|
|
|
|
assert_eq!(actual.out, "0-1-2-3-4-5-6-7-8-9");
|
|
}
|