Skip to content

Commit

Permalink
Move std-rfc tests for nupm
Browse files Browse the repository at this point in the history
  • Loading branch information
texastoland committed Mar 15, 2024
1 parent 628d45c commit 954c1a8
Show file tree
Hide file tree
Showing 6 changed files with 93 additions and 96 deletions.
49 changes: 0 additions & 49 deletions stdlib-candidate/std-rfc/fs.nu
Original file line number Diff line number Diff line change
Expand Up @@ -33,52 +33,3 @@ export def "file bulk-rename" [

null
}

#[test]
def test [] {
use std assert

let test_dir = $nu.temp-path | path join (random uuid)

mkdir $test_dir
seq 1 10 | each {|i| touch ($test_dir | path join $"some_($i)_format.txt") }

let expected = [
"some_10_format.txt",
"some_1_format.txt",
"some_2_format.txt",
"some_3_format.txt",
"some_4_format.txt",
"some_5_format.txt",
"some_6_format.txt",
"some_7_format.txt",
"some_8_format.txt",
"some_9_format.txt",
]
let actual = glob $"($test_dir)/*" | str replace $test_dir "" | str trim --left --char "/"
assert equal ($actual | sort) $expected

file bulk-rename $test_dir {
parse "some_{i}_format"
| get 0
| update i { fill --alignment r --character 0 --width 3 }
| $"some_($in.i)_format"
}

let expected = [
"some_001_format.txt",
"some_002_format.txt",
"some_003_format.txt",
"some_004_format.txt",
"some_005_format.txt",
"some_006_format.txt",
"some_007_format.txt",
"some_008_format.txt",
"some_009_format.txt",
"some_010_format.txt",
]
let actual = glob $"($test_dir)/*" | str replace $test_dir "" | str trim --left --char "/"
assert equal ($actual | sort) $expected

rm -rf $test_dir
}
39 changes: 8 additions & 31 deletions stdlib-candidate/std-rfc/record/mod.nu
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ export def "filter-name predicate" [
pred: closure # Predicate closure that checks fields name
]: record -> record {
let $obj_input = $in
$obj_input
| columns
$obj_input
| columns
| where { $in | do $pred }
| each {|input|
{ $input: ($obj_input | get $input) }
| each {|input|
{ $input: ($obj_input | get $input) }
}
| list merge
}
Expand All @@ -36,34 +36,11 @@ export def "filter-value predicate" [
pred: closure # Predicate closure that checks fields value
]: record -> record {
let $obj_input = $in
$obj_input
| columns
$obj_input
| columns
| where {|col| $obj_input | get $col | do $pred }
| each {|input|
{ $input: ($obj_input | get $input) }
| each {|input|
{ $input: ($obj_input | get $input) }
}
| list merge
}

#[test]
def test_record_list_merge [] {
use std assert
assert equal ([{a:1} {b:2} {c:3} {d:4}] | list merge) {a:1 b:2 c:3 d:4}
}
#[test]
def test_record_filtername_predicate [] {
use std assert
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name predicate {$in | str contains a}) {aa:1 ab:2 ba:3 ca:5}
}
#[test]
def test_record_filtername_text [] {
use std assert
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name text a) {aa:1 ab:2 ba:3 ca:5}
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name text -r ^a) {aa:1 ab:2}
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name text -r ^A) {}
}
#[test]
def test_record_filtervalue_predicate [] {
use std assert
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-value predicate { $in mod 2 == 0 }) {ab:2 bb:4 cb:6}
}
16 changes: 0 additions & 16 deletions stdlib-candidate/std-rfc/str.nu
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,3 @@ export def prepend [head: string]: [string -> string, list<string> -> list<strin
_ => $input
}
}

#[test]
def test_append [] {
use std assert
assert equal ("foo" | append "/") "foo/"
assert equal (["foo", "bar", "baz"] | append "/") ["foo/", "bar/", "baz/"]

}

#[test]
def test_prepend [] {
use std assert
assert equal ("foo" | prepend "/") "/foo"
assert equal (["foo", "bar", "baz"] | prepend "/") ["/foo", "/bar", "/baz"]

}
48 changes: 48 additions & 0 deletions stdlib-candidate/tests/fs.nu
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#[test]
def test [] {
use std assert

let test_dir = $nu.temp-path | path join (random uuid)

mkdir $test_dir
seq 1 10 | each {|i| touch ($test_dir | path join $"some_($i)_format.txt") }

let expected = [
"some_10_format.txt",
"some_1_format.txt",
"some_2_format.txt",
"some_3_format.txt",
"some_4_format.txt",
"some_5_format.txt",
"some_6_format.txt",
"some_7_format.txt",
"some_8_format.txt",
"some_9_format.txt",
]
let actual = glob $"($test_dir)/*" | str replace $test_dir "" | str trim --left --char "/"
assert equal ($actual | sort) $expected

file bulk-rename $test_dir {
parse "some_{i}_format"
| get 0
| update i { fill --alignment r --character 0 --width 3 }
| $"some_($in.i)_format"
}

let expected = [
"some_001_format.txt",
"some_002_format.txt",
"some_003_format.txt",
"some_004_format.txt",
"some_005_format.txt",
"some_006_format.txt",
"some_007_format.txt",
"some_008_format.txt",
"some_009_format.txt",
"some_010_format.txt",
]
let actual = glob $"($test_dir)/*" | str replace $test_dir "" | str trim --left --char "/"
assert equal ($actual | sort) $expected

rm -rf $test_dir
}
22 changes: 22 additions & 0 deletions stdlib-candidate/tests/record.nu
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#[test]
def test_record_list_merge [] {
use std assert
assert equal ([{a:1} {b:2} {c:3} {d:4}] | list merge) {a:1 b:2 c:3 d:4}
}
#[test]
def test_record_filtername_predicate [] {
use std assert
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name predicate {$in | str contains a}) {aa:1 ab:2 ba:3 ca:5}
}
#[test]
def test_record_filtername_text [] {
use std assert
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name text a) {aa:1 ab:2 ba:3 ca:5}
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name text -r ^a) {aa:1 ab:2}
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-name text -r ^A) {}
}
#[test]
def test_record_filtervalue_predicate [] {
use std assert
assert equal ({aa:1 ab:2 ba:3 bb:4 ca:5 cb:6} | filter-value predicate { $in mod 2 == 0 }) {ab:2 bb:4 cb:6}
}
15 changes: 15 additions & 0 deletions stdlib-candidate/tests/str.nu
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#[test]
def test_append [] {
use std assert
assert equal ("foo" | append "/") "foo/"
assert equal (["foo", "bar", "baz"] | append "/") ["foo/", "bar/", "baz/"]

}

#[test]
def test_prepend [] {
use std assert
assert equal ("foo" | prepend "/") "/foo"
assert equal (["foo", "bar", "baz"] | prepend "/") ["/foo", "/bar", "/baz"]

}

0 comments on commit 954c1a8

Please sign in to comment.