Browse Source

punk::path tests

master
Julian Noble 20 hours ago
parent
commit
d6fbf475d0
  1. 68
      src/tests/modules/punk/path/testsuites/tests/path.test

68
src/tests/modules/punk/path/testsuites/tests/path.test

@ -67,6 +67,8 @@ namespace eval ::testspace {
aside/child/child.txt
aside/child/grandchild/grandchild.txt
b/other/other.txt
alpha/subdir/direct.txt
alpha/subdir/deep/deep.txt
} {
set filepath [file join $tf_tree_root $relpath]
file mkdir [file dirname $filepath]
@ -307,10 +309,42 @@ namespace eval ::testspace {
-cleanup $treefilenames_cleanup \
-result 1
test treefilenames_include_paths_subdir_boundary_before_exact {Include paths include internal and trailing subdir matches when subtree pattern appears first} \
-setup $treefilenames_tree -body {
set result [lsort [punk::path::treefilenames -sort none -directory . -include-paths {**/subdir/** **/subdir} *.txt]]
set expected [lsort [list \
[file join . $tf_tree_tail alpha subdir deep deep.txt] \
[file join . $tf_tree_tail alpha subdir direct.txt] \
]]
if {$result ne $expected} {
error "result mismatch\nexpected: $expected\nactual: $result"
}
expr {$result eq $expected}
} \
-cleanup $treefilenames_cleanup \
-result 1
test treefilenames_include_paths_subdir_exact_before_boundary {Include paths include internal and trailing subdir matches when exact pattern appears first} \
-setup $treefilenames_tree -body {
set result [lsort [punk::path::treefilenames -sort none -directory . -include-paths {**/subdir **/subdir/**} *.txt]]
set expected [lsort [list \
[file join . $tf_tree_tail alpha subdir deep deep.txt] \
[file join . $tf_tree_tail alpha subdir direct.txt] \
]]
if {$result ne $expected} {
error "result mismatch\nexpected: $expected\nactual: $result"
}
expr {$result eq $expected}
} \
-cleanup $treefilenames_cleanup \
-result 1
test treefilenames_tailbase_newbase_returns_tree_tail {Tailbase can trim returned filenames to the tree folder} \
-setup $treefilenames_tree -body {
set result [lsort [punk::path::treefilenames -sort none -directory $tf_tree_root -tailbase $tf_newbase *.txt]]
set expected [lsort [list \
[file join $tf_tree_tail alpha subdir deep deep.txt] \
[file join $tf_tree_tail alpha subdir direct.txt] \
[file join $tf_tree_tail aside aside.txt] \
[file join $tf_tree_tail aside child child.txt] \
[file join $tf_tree_tail aside child grandchild grandchild.txt] \
@ -329,6 +363,8 @@ namespace eval ::testspace {
-setup $treefilenames_tree -body {
set result [lsort [punk::path::treefilenames -sort none -directory $tf_tree_root -tailbase $tf_tree_root *.txt]]
set expected [lsort [list \
[file join alpha subdir deep deep.txt] \
[file join alpha subdir direct.txt] \
[file join aside aside.txt] \
[file join aside child child.txt] \
[file join aside child grandchild grandchild.txt] \
@ -347,6 +383,8 @@ namespace eval ::testspace {
-setup $treefilenames_tree -body {
set result [lsort [punk::path::treefilenames -sort none -directory $tf_tree_root -tailbase $tf_tree_root -exclude-paths {aside aside/** src/vfs/**} *.txt]]
set expected [lsort [list \
[file join alpha subdir deep deep.txt] \
[file join alpha subdir direct.txt] \
[file join b other other.txt] \
[file join keep keep.txt] \
[file join src srcroot.txt] \
@ -369,6 +407,36 @@ namespace eval ::testspace {
-cleanup $treefilenames_cleanup \
-result 1
test treefilenames_tailbase_include_paths_subdir_boundary_before_exact {Tailbase include paths include internal and trailing subdir matches when subtree pattern appears first} \
-setup $treefilenames_tree -body {
set result [lsort [punk::path::treefilenames -sort none -directory $tf_tree_root -tailbase $tf_tree_root -include-paths {**/subdir/** **/subdir} *.txt]]
set expected [lsort [list \
[file join alpha subdir deep deep.txt] \
[file join alpha subdir direct.txt] \
]]
if {$result ne $expected} {
error "result mismatch\nexpected: $expected\nactual: $result"
}
expr {$result eq $expected}
} \
-cleanup $treefilenames_cleanup \
-result 1
test treefilenames_tailbase_include_paths_subdir_exact_before_boundary {Tailbase include paths include internal and trailing subdir matches when exact pattern appears first} \
-setup $treefilenames_tree -body {
set result [lsort [punk::path::treefilenames -sort none -directory $tf_tree_root -tailbase $tf_tree_root -include-paths {**/subdir **/subdir/**} *.txt]]
set expected [lsort [list \
[file join alpha subdir deep deep.txt] \
[file join alpha subdir direct.txt] \
]]
if {$result ne $expected} {
error "result mismatch\nexpected: $expected\nactual: $result"
}
expr {$result eq $expected}
} \
-cleanup $treefilenames_cleanup \
-result 1
test treefilenames_tailbase_include_paths_match_newbase_relative_paths {Include paths include the tree folder when tailbase is above the search root} \
-setup $treefilenames_tree -body {
set include_path [file join $tf_tree_tail src **]

Loading…
Cancel
Save