mirror of
https://github.com/go-sylixos/elvish.git
synced 2024-12-13 18:07:51 +08:00
7b66e9f104
Also fix a test broken by bad merge.
32 lines
798 B
Go
32 lines
798 B
Go
package eval_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"src.elv.sh/pkg/eval/errs"
|
|
. "src.elv.sh/pkg/eval/evaltest"
|
|
)
|
|
|
|
func TestNs(t *testing.T) {
|
|
Test(t,
|
|
That("kind-of (ns [&])").Puts("ns"),
|
|
// A Ns is only equal to itself
|
|
That("ns = (ns [&]); eq $ns $ns").Puts(true),
|
|
That("eq (ns [&]) (ns [&])").Puts(false),
|
|
That("eq (ns [&]) [&]").Puts(false),
|
|
|
|
That(`ns: = (ns [&a=b &x=y]); put $ns:a`).Puts("b"),
|
|
That(`ns: = (ns [&a=b &x=y]); put $ns:[a]`).Puts("b"),
|
|
// Test multi-key ns when sorting is possible
|
|
That(`keys (ns [&a=b])`).Puts("a"),
|
|
That(`has-key (ns [&a=b &x=y]) a`).Puts(true),
|
|
That(`has-key (ns [&a=b &x=y]) b`).Puts(false),
|
|
)
|
|
}
|
|
|
|
func TestBuiltinFunctionsReadOnly(t *testing.T) {
|
|
Test(t,
|
|
That("return~ = { }").Throws(errs.SetReadOnlyVar{VarName: "return~"}, "return~"),
|
|
)
|
|
}
|