nushell/src/tests
Stefan Holderbach c9e9b138eb
Improve with-env robustness (#12523)
# Description
Work for #7149

- **Error `with-env` given uneven count in list form**
- **Fix `with-env` `CantConvert` to record**
- **Error `with-env` when given protected env vars**
- **Deprecate list/table input of vars to `with-env`**
- **Remove examples for deprecated input**

# User-Facing Changes

## Deprecation of the following forms

```
> with-env [MYENV "my env value"] { $env.MYENV }
my env value

> with-env [X Y W Z] { $env.X }
Y

> with-env [[X W]; [Y Z]] { $env.W }
Z
```

## recommended standardized form

```
# Set by key-value record
> with-env {X: "Y", W: "Z"} { [$env.X $env.W] }
╭───┬───╮
│ 0 │ Y │
│ 1 │ Z │
╰───┴───╯
```

## (Side effect) Repeated definitions in an env shorthand are now
disallowed

```
> FOO=bar FOO=baz $env
Error: nu:🐚:column_defined_twice

  × Record field or table column used twice: FOO
   ╭─[entry #1:1:1]
 1 │ FOO=bar FOO=baz $env
   · ─┬─     ─┬─
   ·  │       ╰── field redefined here
   ·  ╰── field first defined here
   ╰────
```
2024-04-16 19:08:58 +08:00
..
test_bits.rs add binary data handling to bits commands (#11854) 2024-02-28 20:43:50 +08:00
test_cell_path.rs remove the $nothing variable (#10478) 2023-09-26 18:49:28 +02:00
test_commandline.rs separate commandline into subcommands (#11877) 2024-02-18 16:15:59 -06:00
test_conditionals.rs Add OneOf shape to fix else (#7385) 2022-12-08 08:58:54 +13:00
test_config_path.rs Don't check if stderr empty in test_xdg_config_symlink (#12435) 2024-04-06 18:01:16 -04:00
test_config.rs Keep plugins persistently running in the background (#12064) 2024-03-09 17:10:22 -06:00
test_converters.rs to json -r not removing whitespaces fix (#11948) 2024-03-20 22:14:31 +01:00
test_custom_commands.rs Glob: don't allow implicit casting between glob and string (#11992) 2024-02-28 23:05:35 +08:00
test_engine.rs Remove feat extra and include in default (#12140) 2024-03-10 17:29:02 +01:00
test_env.rs Improve with-env robustness (#12523) 2024-04-16 19:08:58 +08:00
test_help.rs Add long options for filters (#10641) 2023-10-08 13:12:46 +02:00
test_hiding.rs remove let-env, focus on mutating $env (#9574) 2023-07-01 07:57:51 +12:00
test_ide.rs limit the ide-check error amount (#8875) 2023-04-13 12:53:18 -05:00
test_iteration.rs Remove deprecated --numbered flag from four commands (#7777) 2023-02-02 16:59:58 -06:00
test_known_external.rs Allow spreading arguments to commands (#11289) 2023-12-28 15:43:20 +08:00
test_math.rs Fix precedence of 'not' operator (#11672) 2024-01-29 21:42:27 +02:00
test_modules.rs Module: support defining const and use const variables inside of function (#9773) 2023-08-01 07:09:52 +08:00
test_parser.rs Lex whitespace in input-output types. (#12339) 2024-04-10 16:28:54 +02:00
test_ranges.rs improve operation mismatch errors (#8800) 2023-04-08 09:32:44 +12:00
test_regex.rs improve operation mismatch errors (#8800) 2023-04-08 09:32:44 +12:00
test_signatures.rs allow tables to have annotations (#9613) 2023-07-07 11:06:09 +02:00
test_spread.rs Disallow spreading lists automatically when calling externals (#11857) 2024-02-14 18:16:19 -05:00
test_stdlib.rs split $nu variable into scope commands and simpler $nu (#9487) 2023-06-21 09:33:01 +12:00
test_strings.rs to json -r not removing whitespaces fix (#11948) 2024-03-20 22:14:31 +01:00
test_table_operations.rs to json -r not removing whitespaces fix (#11948) 2024-03-20 22:14:31 +01:00
test_type_check.rs add type check during eval time (#11475) 2024-01-12 23:48:53 +08:00