aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Spec.hs9
-rw-r--r--test/TestUtils.hs3
-rw-r--r--test/scripts/import1.milch2
3 files changed, 12 insertions, 2 deletions
diff --git a/test/Spec.hs b/test/Spec.hs
index e522c9c..0059ea7 100644
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -144,7 +144,14 @@ e2eTests = testGroup "e2e" [
(gotASTs, _) <- expectSuccessL env $ runInlineScript "<test>" script1
let expectedLastAST = astBoolean True
- assertEqual "" expectedLastAST (last gotASTs)
+ assertEqual "" expectedLastAST (last gotASTs),
+
+ do let env = M.empty
+ script1 <- readFile "test/scripts/import1.milch"
+ got <- expectErrorL env $ runInlineScript "<test>" script1
+
+ let expected = "error: import shadows symbols: id"
+ assertBool "" (expected `L.isInfixOf` got)
]
testGroup label xs = TestLabel label $ TestList $ map TestCase xs
diff --git a/test/TestUtils.hs b/test/TestUtils.hs
index 89bc6e6..42352e5 100644
--- a/test/TestUtils.hs
+++ b/test/TestUtils.hs
@@ -4,6 +4,7 @@ module TestUtils where
import qualified Data.Map as M
import qualified Data.Bifunctor as B
import Utils
+import Builtins ( builtinModule )
testConfig :: Config
testConfig = Config {
@@ -39,7 +40,7 @@ expectErrorL env lc =
Right (val, _) -> error $ "unexpected success: " ++ show val
makeEnv :: [(String, AST)] -> Env
-makeEnv = M.fromList . map (B.second Regular)
+makeEnv = M.fromList . map (B.second (\v -> (builtinModule, Regular v)))
ast :: ASTNode -> AST
ast node = makeNonsenseAST node
diff --git a/test/scripts/import1.milch b/test/scripts/import1.milch
new file mode 100644
index 0000000..bd3d111
--- /dev/null
+++ b/test/scripts/import1.milch
@@ -0,0 +1,2 @@
+(let id 123)
+(import "core/common")