This ports TestAstFunc2 from our home-grown content storage system to the txtar package. Since a single file can be used to represent the entire folder hierarchy, this makes it much easier to see and edit tests.
83 lines
2.0 KiB
Plaintext
83 lines
2.0 KiB
Plaintext
-- metadata.yaml --
|
|
#files: "files/" # these are some extra files we can use (is the default)
|
|
-- main.mcl --
|
|
import "golang/strings"
|
|
import "deploy"
|
|
import "second.mcl"
|
|
import "mod1/"
|
|
|
|
#$f1 = "/metadata.yaml" # works
|
|
#$f1 = "/main.mcl" # works
|
|
$f1 = "/files/file1"
|
|
|
|
$f2 = "/files/file2"
|
|
|
|
$f3 = "/mod1/files/file3"
|
|
|
|
# the abspath method shouldn't be used often, it's here for testing...
|
|
if $f1 != deploy.abspath($f1) { # should be the same, since we're in the same dir
|
|
test "f1 error" {}
|
|
}
|
|
if $f2 != $second.f2 {
|
|
test "f2 error" {}
|
|
}
|
|
if $f3 != $mod1.f3 {
|
|
test "f3 error" {}
|
|
}
|
|
|
|
# the readfileabs method shouldn't be used often, it's here for testing...
|
|
$x1 = deploy.readfileabs($f1)
|
|
$x2 = deploy.readfileabs($f2)
|
|
$x3 = deploy.readfileabs($f3)
|
|
|
|
if $x1 != deploy.readfile($f1) {
|
|
test "x1 error" {}
|
|
}
|
|
if $x2 != $second.x2 {
|
|
test "x2 error" {}
|
|
}
|
|
if $x3 != $mod1.x3 {
|
|
test "x3 error" {}
|
|
}
|
|
|
|
# hide the newlines from our output
|
|
test strings.trim_space($x1) {}
|
|
test strings.trim_space($x2) {}
|
|
test strings.trim_space($x3) {}
|
|
# debugging:
|
|
#test "f1" {
|
|
# anotherstr => $x1,
|
|
#}
|
|
#test "f2" {
|
|
# anotherstr => $x2,
|
|
#}
|
|
#test "f3" {
|
|
# anotherstr => $x3,
|
|
#}
|
|
-- second.mcl --
|
|
import "deploy"
|
|
|
|
# relative paths for us
|
|
$f = "/files/file2" # real file is here as well
|
|
$f2 = deploy.abspath($f)
|
|
$x2 = deploy.readfile($f)
|
|
-- files/file1 --
|
|
This is a different file1 in the files/ folder.
|
|
-- files/file2 --
|
|
This is a different file2 in the files/ folder.
|
|
-- mod1/metadata.yaml --
|
|
#files: "files/" # these are some extra files we can use (is the default)
|
|
-- mod1/main.mcl --
|
|
import "deploy"
|
|
|
|
# relative paths for us
|
|
$f = "/files/file3" # real file is in: /mod1/files/file3
|
|
$f3 = deploy.abspath($f)
|
|
$x3 = deploy.readfile($f)
|
|
-- mod1/files/file3 --
|
|
This is a different file3 in the files/ folder inside of the mod1/ module.
|
|
-- OUTPUT --
|
|
Vertex: test[This is a different file1 in the files/ folder.]
|
|
Vertex: test[This is a different file2 in the files/ folder.]
|
|
Vertex: test[This is a different file3 in the files/ folder inside of the mod1/ module.]
|