nushell/crates/nu-std/tests/test_formats.nu
Yuto c761f7f844
add 'from ndjson' into standard library (#10283)
close #8574
related #10276 
# Description

added below into standard library
```
def "from ndjson" []: string -> any {
    from json --objects
}
```

# User-Facing Changes


Users can use functions like "from ndjson" in standard library, and can
open ndjson files with `open` command.
```
use std formats *
# `from ndjson` is available now
open sample.ndjson
```

# Tests + Formatting

`toolkit check pr`

- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`


# After Submitting

---------

Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
2023-09-11 14:59:07 +02:00

55 lines
1.1 KiB
Plaintext

use std assert
def ndjson_test_data1 [] {
'{"a":1}
{"a":2}
{"a":3}
{"a":4}
{"a":5}
{"a":6}'
}
#[test]
def from_ndjson_multiple_objects [] {
use std formats *
let result = ndjson_test_data1 | from ndjson
let expect = [{a:1},{a:2},{a:3},{a:4},{a:5},{a:6}]
assert equal $result $expect "could not convert from NDJSON"
}
#[test]
def from_ndjson_single_object [] {
use std formats *
let result = '{"a":1}' | from ndjson
let expect = [{a:1}]
assert equal $result $expect "could not convert from NDJSON"
}
#[test]
def from_ndjson_invalid_object [] {
use std formats *
assert error { '{"a":1' | from ndjson }
}
#[test]
def from_jsonl_multiple_objects [] {
use std formats *
let result = ndjson_test_data1 | from jsonl
let expect = [{a:1},{a:2},{a:3},{a:4},{a:5},{a:6}]
assert equal $result $expect "could not convert from JSONL"
}
#[test]
def from_jsonl_single_object [] {
use std formats *
let result = '{"a":1}' | from jsonl
let expect = [{a:1}]
assert equal $result $expect "could not convert from JSONL"
}
#[test]
def from_jsonl_invalid_object [] {
use std formats *
assert error { '{"a":1' | from jsonl }
}