diff options
author | Nadrieril Feneanar | 2020-03-05 16:20:07 +0000 |
---|---|---|
committer | GitHub | 2020-03-05 16:20:07 +0000 |
commit | 3f9194f47185fe30c9e410aa7c5e651df9694b3f (patch) | |
tree | 6d24b2e824822134da4976b65b413dc09ca4e567 /dhall/tests | |
parent | 2ca97e97f1718141d826a78ab3da8197b2d55c69 (diff) | |
parent | 8e6b020ba1426c215382a81395b809b688fa7726 (diff) |
Merge pull request #139 from Nadrieril/missing-features
Implement a bunch of missing features
Diffstat (limited to '')
161 files changed, 248 insertions, 4 deletions
diff --git a/dhall/tests/import/data/cycle.dhall b/dhall/tests/import/data/cycle.dhall new file mode 100644 index 0000000..c370a8d --- /dev/null +++ b/dhall/tests/import/data/cycle.dhall @@ -0,0 +1 @@ +../failure/cycle.dhall diff --git a/dhall/tests/import/data/doesNotTypecheck.dhall b/dhall/tests/import/data/doesNotTypecheck.dhall new file mode 100644 index 0000000..b748e2d --- /dev/null +++ b/dhall/tests/import/data/doesNotTypecheck.dhall @@ -0,0 +1 @@ +0 0 diff --git a/dhall/tests/import/data/example.txt b/dhall/tests/import/data/example.txt new file mode 100644 index 0000000..af5626b --- /dev/null +++ b/dhall/tests/import/data/example.txt @@ -0,0 +1 @@ +Hello, world! diff --git a/dhall/tests/import/data/fieldOrder/1.dhall b/dhall/tests/import/data/fieldOrder/1.dhall new file mode 100644 index 0000000..797e071 --- /dev/null +++ b/dhall/tests/import/data/fieldOrder/1.dhall @@ -0,0 +1 @@ +{ foo = 1, bar = True } diff --git a/dhall/tests/import/data/fieldOrder/2.dhall b/dhall/tests/import/data/fieldOrder/2.dhall new file mode 100644 index 0000000..c16b568 --- /dev/null +++ b/dhall/tests/import/data/fieldOrder/2.dhall @@ -0,0 +1 @@ +{ bar = True, foo = 1 } diff --git a/dhall/tests/import/data/importBoundary.dhall b/dhall/tests/import/data/importBoundary.dhall new file mode 100644 index 0000000..e6f1074 --- /dev/null +++ b/dhall/tests/import/data/importBoundary.dhall @@ -0,0 +1,3 @@ +-- This file contains a free variable. This should be a type error, even if the variable +-- is in scope in the importing expression +x diff --git a/dhall/tests/import/data/nested.dhall b/dhall/tests/import/data/nested.dhall new file mode 100644 index 0000000..bf88f65 --- /dev/null +++ b/dhall/tests/import/data/nested.dhall @@ -0,0 +1 @@ +{ x = ./simple.dhall sha256:15f52ecf91c94c1baac02d5a4964b2ed8fa401641a2c8a95e8306ec7c1e3b8d2 } diff --git a/dhall/tests/import/data/referentiallyOpaque.dhall b/dhall/tests/import/data/referentiallyOpaque.dhall new file mode 100644 index 0000000..ff33765 --- /dev/null +++ b/dhall/tests/import/data/referentiallyOpaque.dhall @@ -0,0 +1,18 @@ +{- This is a "referentially opaque" import (i.e. an import that is not + globally addressable), which cannot be imported by a "referentially + transparent" import (i.e. an import that is globally addressable). + + This test file is used in a failing test to verify that referentially + transparent imports cannot import referentially opaque imports. In the test + suite this file is actually imported via its GitHub URL (not its local file + path), so it plays the role of the referentially transparent import. Then, + this file attempts to import a referentially opaque import (an environment + variable in this case) to verify that the import fails. + + For this test file we need to select a referentially opaque import that + would succeed if imported on its own, so that a non-compliant implementation + doesn't fail this test for the wrong reason (i.e. due to the import not + being present). We thus use the `DHALL_TEST_VAR` environment variable, that + is expected to be set when running import tests. +-} +env:DHALL_TEST_VAR as Text diff --git a/dhall/tests/import/data/simple.dhall b/dhall/tests/import/data/simple.dhall new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/dhall/tests/import/data/simple.dhall @@ -0,0 +1 @@ +3 diff --git a/dhall/tests/import/data/simpleLocation.dhall b/dhall/tests/import/data/simpleLocation.dhall new file mode 100644 index 0000000..1d3e43b --- /dev/null +++ b/dhall/tests/import/data/simpleLocation.dhall @@ -0,0 +1 @@ +./simple.dhall as Location diff --git a/dhall/tests/import/failure/alternativeEnv.txt b/dhall/tests/import/failure/alternativeEnv.txt new file mode 100644 index 0000000..482b68c --- /dev/null +++ b/dhall/tests/import/failure/alternativeEnv.txt @@ -0,0 +1 @@ +MissingEnvVar diff --git a/dhall/tests/import/failure/alternativeEnvMissing.txt b/dhall/tests/import/failure/alternativeEnvMissing.txt new file mode 100644 index 0000000..4666330 --- /dev/null +++ b/dhall/tests/import/failure/alternativeEnvMissing.txt @@ -0,0 +1 @@ +Missing diff --git a/dhall/tests/import/failure/cycle.txt b/dhall/tests/import/failure/cycle.txt index 4e9488e..f5a1abf 100644 --- a/dhall/tests/import/failure/cycle.txt +++ b/dhall/tests/import/failure/cycle.txt @@ -1 +1 @@ -ImportCycle([Import { mode: Code, location: Local(Parent, FilePath { file_path: ["data", "cycle.dhall"] }), hash: None }, Import { mode: Code, location: Local(Parent, FilePath { file_path: ["failure", "cycle.dhall"] }), hash: None }], Import { mode: Code, location: Local(Parent, FilePath { file_path: ["data", "cycle.dhall"] }), hash: None }) +ImportCycle([Local("./dhall-lang/tests/import/data/cycle.dhall"), Local("./dhall-lang/tests/import/failure/cycle.dhall")], Local("./dhall-lang/tests/import/data/cycle.dhall")) diff --git a/dhall/tests/import/failure/missing.txt b/dhall/tests/import/failure/missing.txt new file mode 100644 index 0000000..4666330 --- /dev/null +++ b/dhall/tests/import/failure/missing.txt @@ -0,0 +1 @@ +Missing diff --git a/dhall/tests/import/failure/referentiallyInsane.txt b/dhall/tests/import/failure/referentiallyInsane.txt new file mode 100644 index 0000000..9b5fe91 --- /dev/null +++ b/dhall/tests/import/failure/referentiallyInsane.txt @@ -0,0 +1 @@ +SanityCheck diff --git a/dhall/tests/import/failure/unit/EnvUnset.dhall b/dhall/tests/import/failure/unit/EnvUnset.dhall new file mode 100644 index 0000000..af77cce --- /dev/null +++ b/dhall/tests/import/failure/unit/EnvUnset.dhall @@ -0,0 +1 @@ +env:DHALL_TEST_UNSET diff --git a/dhall/tests/import/failure/unit/EnvUnset.txt b/dhall/tests/import/failure/unit/EnvUnset.txt new file mode 100644 index 0000000..482b68c --- /dev/null +++ b/dhall/tests/import/failure/unit/EnvUnset.txt @@ -0,0 +1 @@ +MissingEnvVar diff --git a/dhall/tests/import/failure/unit/EnvUnsetAsText.dhall b/dhall/tests/import/failure/unit/EnvUnsetAsText.dhall new file mode 100644 index 0000000..9a9db6d --- /dev/null +++ b/dhall/tests/import/failure/unit/EnvUnsetAsText.dhall @@ -0,0 +1 @@ +env:DHALL_TEST_UNSET as Text diff --git a/dhall/tests/import/failure/unit/EnvUnsetAsText.txt b/dhall/tests/import/failure/unit/EnvUnsetAsText.txt new file mode 100644 index 0000000..482b68c --- /dev/null +++ b/dhall/tests/import/failure/unit/EnvUnsetAsText.txt @@ -0,0 +1 @@ +MissingEnvVar diff --git a/dhall/tests/import/success/unit/AlternativeChain1A.dhall b/dhall/tests/import/success/unit/AlternativeChain1A.dhall new file mode 100644 index 0000000..15fbf4b --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeChain1A.dhall @@ -0,0 +1 @@ +missing ? missing ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeChain1B.dhall b/dhall/tests/import/success/unit/AlternativeChain1B.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeChain1B.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeChain2A.dhall b/dhall/tests/import/success/unit/AlternativeChain2A.dhall new file mode 100644 index 0000000..f3ba4b5 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeChain2A.dhall @@ -0,0 +1 @@ +missing ? 42 ? 10 diff --git a/dhall/tests/import/success/unit/AlternativeChain2B.dhall b/dhall/tests/import/success/unit/AlternativeChain2B.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeChain2B.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeEnvA.dhall b/dhall/tests/import/success/unit/AlternativeEnvA.dhall new file mode 100644 index 0000000..1807534 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeEnvA.dhall @@ -0,0 +1 @@ +env:DHALL_TEST_UNSET ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeEnvB.dhall b/dhall/tests/import/success/unit/AlternativeEnvB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeEnvB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeHashMismatchA.dhall b/dhall/tests/import/success/unit/AlternativeHashMismatchA.dhall new file mode 100644 index 0000000..8f7fb02 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeHashMismatchA.dhall @@ -0,0 +1 @@ +../../data/simple.dhall sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeHashMismatchB.dhall b/dhall/tests/import/success/unit/AlternativeHashMismatchB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeHashMismatchB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeImportErrorA.dhall b/dhall/tests/import/success/unit/AlternativeImportErrorA.dhall new file mode 100644 index 0000000..9ecc640 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeImportErrorA.dhall @@ -0,0 +1 @@ +missing ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeImportErrorB.dhall b/dhall/tests/import/success/unit/AlternativeImportErrorB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeImportErrorB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeNestedImportErrorA.dhall b/dhall/tests/import/success/unit/AlternativeNestedImportErrorA.dhall new file mode 100644 index 0000000..d681287 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNestedImportErrorA.dhall @@ -0,0 +1 @@ +../../failure/missing.dhall ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeNestedImportErrorB.dhall b/dhall/tests/import/success/unit/AlternativeNestedImportErrorB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNestedImportErrorB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeNoError1A.dhall b/dhall/tests/import/success/unit/AlternativeNoError1A.dhall new file mode 100644 index 0000000..f7c9caf --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNoError1A.dhall @@ -0,0 +1 @@ +42 ? 10 diff --git a/dhall/tests/import/success/unit/AlternativeNoError1B.dhall b/dhall/tests/import/success/unit/AlternativeNoError1B.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNoError1B.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeNoError2A.dhall b/dhall/tests/import/success/unit/AlternativeNoError2A.dhall new file mode 100644 index 0000000..877afd2 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNoError2A.dhall @@ -0,0 +1 @@ +42 ? missing diff --git a/dhall/tests/import/success/unit/AlternativeNoError2B.dhall b/dhall/tests/import/success/unit/AlternativeNoError2B.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNoError2B.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeNoError3A.dhall b/dhall/tests/import/success/unit/AlternativeNoError3A.dhall new file mode 100644 index 0000000..91bcda2 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNoError3A.dhall @@ -0,0 +1 @@ +env:DHALL_TEST_VAR ? 10 diff --git a/dhall/tests/import/success/unit/AlternativeNoError3B.dhall b/dhall/tests/import/success/unit/AlternativeNoError3B.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeNoError3B.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeParseErrorA.dhall b/dhall/tests/import/success/unit/AlternativeParseErrorA.dhall new file mode 100644 index 0000000..d427c5d --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeParseErrorA.dhall @@ -0,0 +1 @@ +../../data/example.txt ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeParseErrorB.dhall b/dhall/tests/import/success/unit/AlternativeParseErrorB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeParseErrorB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeSubExprA.dhall b/dhall/tests/import/success/unit/AlternativeSubExprA.dhall new file mode 100644 index 0000000..2c13f4b --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeSubExprA.dhall @@ -0,0 +1 @@ +missing + 10 ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeSubExprB.dhall b/dhall/tests/import/success/unit/AlternativeSubExprB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeSubExprB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AlternativeTypeErrorA.dhall b/dhall/tests/import/success/unit/AlternativeTypeErrorA.dhall new file mode 100644 index 0000000..24ae717 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeTypeErrorA.dhall @@ -0,0 +1 @@ +../../data/doesNotTypecheck.dhall ? 42 diff --git a/dhall/tests/import/success/unit/AlternativeTypeErrorB.dhall b/dhall/tests/import/success/unit/AlternativeTypeErrorB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeTypeErrorB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/AsTextA.dhall b/dhall/tests/import/success/unit/AsTextA.dhall new file mode 100644 index 0000000..9edb0ed --- /dev/null +++ b/dhall/tests/import/success/unit/AsTextA.dhall @@ -0,0 +1 @@ +../../data/example.txt as Text diff --git a/dhall/tests/import/success/unit/AsTextB.dhall b/dhall/tests/import/success/unit/AsTextB.dhall new file mode 100644 index 0000000..1997a89 --- /dev/null +++ b/dhall/tests/import/success/unit/AsTextB.dhall @@ -0,0 +1,3 @@ +'' +Hello, world! +'' diff --git a/dhall/tests/import/success/unit/EnvSetA.dhall b/dhall/tests/import/success/unit/EnvSetA.dhall new file mode 100644 index 0000000..f851f2a --- /dev/null +++ b/dhall/tests/import/success/unit/EnvSetA.dhall @@ -0,0 +1 @@ +env:DHALL_TEST_VAR diff --git a/dhall/tests/import/success/unit/EnvSetAsTextA.dhall b/dhall/tests/import/success/unit/EnvSetAsTextA.dhall new file mode 100644 index 0000000..139b241 --- /dev/null +++ b/dhall/tests/import/success/unit/EnvSetAsTextA.dhall @@ -0,0 +1 @@ +env:DHALL_TEST_VAR as Text diff --git a/dhall/tests/import/success/unit/EnvSetAsTextB.dhall b/dhall/tests/import/success/unit/EnvSetAsTextB.dhall new file mode 100644 index 0000000..a79bb82 --- /dev/null +++ b/dhall/tests/import/success/unit/EnvSetAsTextB.dhall @@ -0,0 +1 @@ +"6 * 7" diff --git a/dhall/tests/import/success/unit/EnvSetB.dhall b/dhall/tests/import/success/unit/EnvSetB.dhall new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/dhall/tests/import/success/unit/EnvSetB.dhall @@ -0,0 +1 @@ +42 diff --git a/dhall/tests/import/success/unit/NormalizeA.dhall b/dhall/tests/import/success/unit/NormalizeA.dhall new file mode 100644 index 0000000..2f89d08 --- /dev/null +++ b/dhall/tests/import/success/unit/NormalizeA.dhall @@ -0,0 +1 @@ +../../../../../dhall-lang/tests/normalization/success/unit/OperatorPlusOneAndOneA.dhall diff --git a/dhall/tests/import/success/unit/NormalizeB.dhall b/dhall/tests/import/success/unit/NormalizeB.dhall new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/dhall/tests/import/success/unit/NormalizeB.dhall @@ -0,0 +1 @@ +2 diff --git a/dhall/tests/import/success/unit/RemoteAsTextA.dhall b/dhall/tests/import/success/unit/RemoteAsTextA.dhall new file mode 100644 index 0000000..472d041 --- /dev/null +++ b/dhall/tests/import/success/unit/RemoteAsTextA.dhall @@ -0,0 +1 @@ +https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/example.txt as Text diff --git a/dhall/tests/import/success/unit/RemoteAsTextB.dhall b/dhall/tests/import/success/unit/RemoteAsTextB.dhall new file mode 100644 index 0000000..1997a89 --- /dev/null +++ b/dhall/tests/import/success/unit/RemoteAsTextB.dhall @@ -0,0 +1,3 @@ +'' +Hello, world! +'' diff --git a/dhall/tests/import/success/unit/SimpleA.dhall b/dhall/tests/import/success/unit/SimpleA.dhall new file mode 100644 index 0000000..035ee8b --- /dev/null +++ b/dhall/tests/import/success/unit/SimpleA.dhall @@ -0,0 +1 @@ +../../data/simple.dhall diff --git a/dhall/tests/import/success/unit/SimpleB.dhall b/dhall/tests/import/success/unit/SimpleB.dhall new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/dhall/tests/import/success/unit/SimpleB.dhall @@ -0,0 +1 @@ +3 diff --git a/dhall/tests/import/success/unit/SimpleRemoteA.dhall b/dhall/tests/import/success/unit/SimpleRemoteA.dhall new file mode 100644 index 0000000..30e0a79 --- /dev/null +++ b/dhall/tests/import/success/unit/SimpleRemoteA.dhall @@ -0,0 +1 @@ +https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/simple.dhall diff --git a/dhall/tests/import/success/unit/SimpleRemoteB.dhall b/dhall/tests/import/success/unit/SimpleRemoteB.dhall new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/dhall/tests/import/success/unit/SimpleRemoteB.dhall @@ -0,0 +1 @@ +3 diff --git a/dhall/tests/import/success/unit/asLocation/AbsoluteA.dhall b/dhall/tests/import/success/unit/asLocation/AbsoluteA.dhall new file mode 100644 index 0000000..dcf45d1 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/AbsoluteA.dhall @@ -0,0 +1 @@ +/absolute/import as Location diff --git a/dhall/tests/import/success/unit/asLocation/AbsoluteB.dhall b/dhall/tests/import/success/unit/asLocation/AbsoluteB.dhall new file mode 100644 index 0000000..1c1add7 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/AbsoluteB.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Local + "/absolute/import" diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize1A.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize1A.dhall new file mode 100644 index 0000000..e636ed1 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize1A.dhall @@ -0,0 +1 @@ +./foo/./bar/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize1B.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize1B.dhall new file mode 100644 index 0000000..3a8a926 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize1B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Local + "./dhall/tests/import/success/unit/asLocation/foo/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize2A.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize2A.dhall new file mode 100644 index 0000000..c6ef89f --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize2A.dhall @@ -0,0 +1 @@ +./foo/baz/../bar/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize2B.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize2B.dhall new file mode 100644 index 0000000..3a8a926 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize2B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Local + "./dhall/tests/import/success/unit/asLocation/foo/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize3A.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize3A.dhall new file mode 100644 index 0000000..e6be780 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize3A.dhall @@ -0,0 +1 @@ +./../bar/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize3B.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize3B.dhall new file mode 100644 index 0000000..b223da6 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize3B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Local + "./dhall/tests/import/success/unit/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize4A.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize4A.dhall new file mode 100644 index 0000000..ffccd47 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize4A.dhall @@ -0,0 +1 @@ +../../bar/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize4B.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize4B.dhall new file mode 100644 index 0000000..b6301f8 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize4B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Local + "./dhall/tests/import/success/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize5A.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize5A.dhall new file mode 100644 index 0000000..7e58f0b --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize5A.dhall @@ -0,0 +1 @@ +./foo/../../bar/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/Canonicalize5B.dhall b/dhall/tests/import/success/unit/asLocation/Canonicalize5B.dhall new file mode 100644 index 0000000..b223da6 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Canonicalize5B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Local + "./dhall/tests/import/success/unit/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Chain1A.dhall b/dhall/tests/import/success/unit/asLocation/Chain1A.dhall new file mode 100644 index 0000000..cf633fe --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Chain1A.dhall @@ -0,0 +1 @@ +./Relative1A.dhall diff --git a/dhall/tests/import/success/unit/asLocation/Chain1B.dhall b/dhall/tests/import/success/unit/asLocation/Chain1B.dhall new file mode 100644 index 0000000..6aee0b5 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Chain1B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Local + "./dhall/tests/import/success/unit/asLocation/some/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Chain2A.dhall b/dhall/tests/import/success/unit/asLocation/Chain2A.dhall new file mode 100644 index 0000000..cdbd10d --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Chain2A.dhall @@ -0,0 +1 @@ +./Canonicalize4A.dhall diff --git a/dhall/tests/import/success/unit/asLocation/Chain2B.dhall b/dhall/tests/import/success/unit/asLocation/Chain2B.dhall new file mode 100644 index 0000000..6aba54e --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Chain2B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Local + "./dhall/tests/import/success/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Chain3A.dhall b/dhall/tests/import/success/unit/asLocation/Chain3A.dhall new file mode 100644 index 0000000..57751f6 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Chain3A.dhall @@ -0,0 +1 @@ +../asLocation/Canonicalize4A.dhall diff --git a/dhall/tests/import/success/unit/asLocation/Chain3B.dhall b/dhall/tests/import/success/unit/asLocation/Chain3B.dhall new file mode 100644 index 0000000..6aba54e --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Chain3B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Local + "./dhall/tests/import/success/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/DontTryResolvingA.dhall b/dhall/tests/import/success/unit/asLocation/DontTryResolvingA.dhall new file mode 100644 index 0000000..e70016c --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/DontTryResolvingA.dhall @@ -0,0 +1 @@ +(missing as Location) ? 42 -- `missing` fails as an import, but definitely resolves as Location diff --git a/dhall/tests/import/success/unit/asLocation/DontTryResolvingB.dhall b/dhall/tests/import/success/unit/asLocation/DontTryResolvingB.dhall new file mode 100644 index 0000000..dd5e798 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/DontTryResolvingB.dhall @@ -0,0 +1 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Missing diff --git a/dhall/tests/import/success/unit/asLocation/EnvA.dhall b/dhall/tests/import/success/unit/asLocation/EnvA.dhall new file mode 100644 index 0000000..eb4b4a6 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/EnvA.dhall @@ -0,0 +1 @@ +env:HOME as Location diff --git a/dhall/tests/import/success/unit/asLocation/EnvB.dhall b/dhall/tests/import/success/unit/asLocation/EnvB.dhall new file mode 100644 index 0000000..4947caa --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/EnvB.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Environment + "HOME" diff --git a/dhall/tests/import/success/unit/asLocation/HashA.dhall b/dhall/tests/import/success/unit/asLocation/HashA.dhall new file mode 100644 index 0000000..79f4fda --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/HashA.dhall @@ -0,0 +1 @@ +./some/import.dhall sha256:f9340badf94a684e652e0a384f64363293d8b632d971f3453f7ee22f10ab6e75 as Location diff --git a/dhall/tests/import/success/unit/asLocation/HashB.dhall b/dhall/tests/import/success/unit/asLocation/HashB.dhall new file mode 100644 index 0000000..6aee0b5 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/HashB.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Local + "./dhall/tests/import/success/unit/asLocation/some/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/HomeA.dhall b/dhall/tests/import/success/unit/asLocation/HomeA.dhall new file mode 100644 index 0000000..18cc2cd --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/HomeA.dhall @@ -0,0 +1 @@ +~/some/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/HomeB.dhall b/dhall/tests/import/success/unit/asLocation/HomeB.dhall new file mode 100644 index 0000000..8b4f0fd --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/HomeB.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Local + "~/some/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/MissingA.dhall b/dhall/tests/import/success/unit/asLocation/MissingA.dhall new file mode 100644 index 0000000..e06a30b --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/MissingA.dhall @@ -0,0 +1 @@ +missing as Location diff --git a/dhall/tests/import/success/unit/asLocation/MissingB.dhall b/dhall/tests/import/success/unit/asLocation/MissingB.dhall new file mode 100644 index 0000000..dd5e798 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/MissingB.dhall @@ -0,0 +1 @@ +< Environment : Text | Remote : Text | Local : Text | Missing >.Missing diff --git a/dhall/tests/import/success/unit/asLocation/Relative1A.dhall b/dhall/tests/import/success/unit/asLocation/Relative1A.dhall new file mode 100644 index 0000000..b514f79 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Relative1A.dhall @@ -0,0 +1 @@ +./some/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/Relative1B.dhall b/dhall/tests/import/success/unit/asLocation/Relative1B.dhall new file mode 100644 index 0000000..6aee0b5 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Relative1B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Local + "./dhall/tests/import/success/unit/asLocation/some/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/Relative2A.dhall b/dhall/tests/import/success/unit/asLocation/Relative2A.dhall new file mode 100644 index 0000000..ec59586 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Relative2A.dhall @@ -0,0 +1 @@ +../some/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/Relative2B.dhall b/dhall/tests/import/success/unit/asLocation/Relative2B.dhall new file mode 100644 index 0000000..9842f7c --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/Relative2B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Local + "./dhall/tests/import/success/unit/some/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteA.dhall b/dhall/tests/import/success/unit/asLocation/RemoteA.dhall new file mode 100644 index 0000000..54ea028 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteA.dhall @@ -0,0 +1 @@ +https://example.com/foo/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/RemoteB.dhall b/dhall/tests/import/success/unit/asLocation/RemoteB.dhall new file mode 100644 index 0000000..e22cfac --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteB.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://example.com/foo/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize1A.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize1A.dhall new file mode 100644 index 0000000..3e6378e --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize1A.dhall @@ -0,0 +1 @@ +https://example.com/foo/./bar/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize1B.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize1B.dhall new file mode 100644 index 0000000..0064a13 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize1B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://example.com/foo/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize2A.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize2A.dhall new file mode 100644 index 0000000..d3fd11e --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize2A.dhall @@ -0,0 +1 @@ +https://example.com/foo/bar/../baz/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize2B.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize2B.dhall new file mode 100644 index 0000000..d85236b --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize2B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://example.com/foo/baz/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize3A.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize3A.dhall new file mode 100644 index 0000000..2074fbf --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize3A.dhall @@ -0,0 +1 @@ +https://example.com/foo/bar/../../baz/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize3B.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize3B.dhall new file mode 100644 index 0000000..45a2857 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize3B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://example.com/baz/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize4A.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize4A.dhall new file mode 100644 index 0000000..9358f44 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize4A.dhall @@ -0,0 +1 @@ +https://example.com/../bar/import.dhall as Location diff --git a/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize4B.dhall b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize4B.dhall new file mode 100644 index 0000000..b5ccbcd --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteCanonicalize4B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://example.com/../bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteChain1A.dhall b/dhall/tests/import/success/unit/asLocation/RemoteChain1A.dhall new file mode 100644 index 0000000..7d081ab --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteChain1A.dhall @@ -0,0 +1 @@ +https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/simpleLocation.dhall diff --git a/dhall/tests/import/success/unit/asLocation/RemoteChain1B.dhall b/dhall/tests/import/success/unit/asLocation/RemoteChain1B.dhall new file mode 100644 index 0000000..8ac2c6b --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteChain1B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/simple.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteChain2A.dhall b/dhall/tests/import/success/unit/asLocation/RemoteChain2A.dhall new file mode 100644 index 0000000..9929517 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteChain2A.dhall @@ -0,0 +1 @@ +https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/asLocation/Canonicalize3A.dhall diff --git a/dhall/tests/import/success/unit/asLocation/RemoteChain2B.dhall b/dhall/tests/import/success/unit/asLocation/RemoteChain2B.dhall new file mode 100644 index 0000000..685dc04 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteChain2B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/bar/import.dhall" diff --git a/dhall/tests/import/success/unit/asLocation/RemoteChain3A.dhall b/dhall/tests/import/success/unit/asLocation/RemoteChain3A.dhall new file mode 100644 index 0000000..851108c --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteChain3A.dhall @@ -0,0 +1 @@ +https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/asLocation/Canonicalize5A.dhall diff --git a/dhall/tests/import/success/unit/asLocation/RemoteChain3B.dhall b/dhall/tests/import/success/unit/asLocation/RemoteChain3B.dhall new file mode 100644 index 0000000..685dc04 --- /dev/null +++ b/dhall/tests/import/success/unit/asLocation/RemoteChain3B.dhall @@ -0,0 +1,2 @@ +< Environment : Text | Local : Text | Missing | Remote : Text >.Remote + "https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/bar/import.dhall" diff --git a/dhall/tests/normalization/success/regression/NaturalFoldExtraArgA.dhall b/dhall/tests/normalization/success/regression/NaturalFoldExtraArgA.dhall new file mode 100644 index 0000000..3a69d1e --- /dev/null +++ b/dhall/tests/normalization/success/regression/NaturalFoldExtraArgA.dhall @@ -0,0 +1 @@ +Natural/fold 0 (Bool -> Bool) (λ(_ : (Bool -> Bool)) → λ(_ : Bool) → True) (λ(_ : Bool) → False) True diff --git a/dhall/tests/normalization/success/regression/NaturalFoldExtraArgB.dhall b/dhall/tests/normalization/success/regression/NaturalFoldExtraArgB.dhall new file mode 100644 index 0000000..bc59c12 --- /dev/null +++ b/dhall/tests/normalization/success/regression/NaturalFoldExtraArgB.dhall @@ -0,0 +1 @@ +False diff --git a/dhall/tests/normalization/success/regression/TrickyBinderIdentityA.dhall b/dhall/tests/normalization/success/regression/TrickyBinderIdentityA.dhall new file mode 100644 index 0000000..5d72bbe --- /dev/null +++ b/dhall/tests/normalization/success/regression/TrickyBinderIdentityA.dhall @@ -0,0 +1 @@ +let T = Natural let ap = λ(f : T → List T) -> λ(x : T) -> f x in ap (λ(x : T) -> ap (λ(y : T) -> [x, y]) 1) 0 diff --git a/dhall/tests/normalization/success/regression/TrickyBinderIdentityB.dhall b/dhall/tests/normalization/success/regression/TrickyBinderIdentityB.dhall new file mode 100644 index 0000000..28233fb --- /dev/null +++ b/dhall/tests/normalization/success/regression/TrickyBinderIdentityB.dhall @@ -0,0 +1 @@ +[ 0, 1 ] diff --git a/dhall/tests/normalization/success/unit/TextLitNested1A.dhall b/dhall/tests/normalization/success/unit/TextLitNested1A.dhall new file mode 100644 index 0000000..104dc41 --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextLitNested1A.dhall @@ -0,0 +1 @@ +λ(x: Text) → "${""}${x}" diff --git a/dhall/tests/normalization/success/unit/TextLitNested1B.dhall b/dhall/tests/normalization/success/unit/TextLitNested1B.dhall new file mode 100644 index 0000000..631a6cf --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextLitNested1B.dhall @@ -0,0 +1 @@ +λ(x : Text) → x diff --git a/dhall/tests/normalization/success/unit/TextLitNested2A.dhall b/dhall/tests/normalization/success/unit/TextLitNested2A.dhall new file mode 100644 index 0000000..5b4ae6e --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextLitNested2A.dhall @@ -0,0 +1 @@ +λ(x: Text) → "${"${x}"}" diff --git a/dhall/tests/normalization/success/unit/TextLitNested2B.dhall b/dhall/tests/normalization/success/unit/TextLitNested2B.dhall new file mode 100644 index 0000000..631a6cf --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextLitNested2B.dhall @@ -0,0 +1 @@ +λ(x : Text) → x diff --git a/dhall/tests/normalization/success/unit/TextLitNested3A.dhall b/dhall/tests/normalization/success/unit/TextLitNested3A.dhall new file mode 100644 index 0000000..d57ac64 --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextLitNested3A.dhall @@ -0,0 +1 @@ +λ(x: Text) → "${"${""}"}${x}" diff --git a/dhall/tests/normalization/success/unit/TextLitNested3B.dhall b/dhall/tests/normalization/success/unit/TextLitNested3B.dhall new file mode 100644 index 0000000..631a6cf --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextLitNested3B.dhall @@ -0,0 +1 @@ +λ(x : Text) → x diff --git a/dhall/tests/normalization/success/unit/TextShowEmptyA.dhall b/dhall/tests/normalization/success/unit/TextShowEmptyA.dhall new file mode 100644 index 0000000..589f65d --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextShowEmptyA.dhall @@ -0,0 +1 @@ +Text/show "" diff --git a/dhall/tests/normalization/success/unit/TextShowEmptyB.dhall b/dhall/tests/normalization/success/unit/TextShowEmptyB.dhall new file mode 100644 index 0000000..8fbbe76 --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextShowEmptyB.dhall @@ -0,0 +1 @@ +"\"\"" diff --git a/dhall/tests/parser/failure/assertBinding.txt b/dhall/tests/parser/failure/assertBinding.txt new file mode 100644 index 0000000..4253a31 --- /dev/null +++ b/dhall/tests/parser/failure/assertBinding.txt @@ -0,0 +1,6 @@ + --> 1:5 + | +1 | let assert = 2 in 1␍␊ + | ^--- + | + = expected simple_label diff --git a/dhall/tests/parser/failure/spacing/AssertNoSpace.txt b/dhall/tests/parser/failure/spacing/AssertNoSpace.txt index 0e83988..a98c16a 100644 --- a/dhall/tests/parser/failure/spacing/AssertNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/AssertNoSpace.txt @@ -1,6 +1,6 @@ - --> 1:8 + --> 1:1 | 1 | assert :T␊ - | ^--- + | ^--- | - = expected EOI, import_alt, bool_or, natural_plus, text_append, list_append, bool_and, natural_times, bool_eq, bool_ne, combine, combine_types, equivalent, prefer, arrow, import_hashed, or primitive_expression + = expected expression diff --git a/dhall/tests/parser/failure/unit/AssertNoAnnotation.dhall b/dhall/tests/parser/failure/unit/AssertNoAnnotation.dhall new file mode 100644 index 0000000..6019020 --- /dev/null +++ b/dhall/tests/parser/failure/unit/AssertNoAnnotation.dhall @@ -0,0 +1 @@ +assert diff --git a/dhall/tests/parser/failure/unit/AssertNoAnnotation.txt b/dhall/tests/parser/failure/unit/AssertNoAnnotation.txt new file mode 100644 index 0000000..435e325 --- /dev/null +++ b/dhall/tests/parser/failure/unit/AssertNoAnnotation.txt @@ -0,0 +1,6 @@ + --> 1:1 + | +1 | assert␊ + | ^--- + | + = expected expression diff --git a/dhall/tests/parser/success/unit/EmptyRecordLiteralA.dhall b/dhall/tests/parser/success/unit/EmptyRecordLiteralA.dhall new file mode 100644 index 0000000..339130f --- /dev/null +++ b/dhall/tests/parser/success/unit/EmptyRecordLiteralA.dhall @@ -0,0 +1 @@ +{=} diff --git a/dhall/tests/parser/success/unit/EmptyRecordLiteralB.dhallb b/dhall/tests/parser/success/unit/EmptyRecordLiteralB.dhallb new file mode 100644 index 0000000..58e2e39 --- /dev/null +++ b/dhall/tests/parser/success/unit/EmptyRecordLiteralB.dhallb @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/dhall/tests/parser/success/unit/EmptyRecordLiteralB.diag b/dhall/tests/parser/success/unit/EmptyRecordLiteralB.diag new file mode 100644 index 0000000..8ead206 --- /dev/null +++ b/dhall/tests/parser/success/unit/EmptyRecordLiteralB.diag @@ -0,0 +1 @@ +[8, {}] diff --git a/dhall/tests/parser/success/unit/LetAnnotA.dhall b/dhall/tests/parser/success/unit/LetAnnotA.dhall new file mode 100644 index 0000000..c7d29f8 --- /dev/null +++ b/dhall/tests/parser/success/unit/LetAnnotA.dhall @@ -0,0 +1 @@ +let x: T = y in e diff --git a/dhall/tests/parser/success/unit/LetAnnotB.dhallb b/dhall/tests/parser/success/unit/LetAnnotB.dhallb Binary files differnew file mode 100644 index 0000000..4e3a7e4 --- /dev/null +++ b/dhall/tests/parser/success/unit/LetAnnotB.dhallb diff --git a/dhall/tests/parser/success/unit/LetAnnotB.diag b/dhall/tests/parser/success/unit/LetAnnotB.diag new file mode 100644 index 0000000..36791e0 --- /dev/null +++ b/dhall/tests/parser/success/unit/LetAnnotB.diag @@ -0,0 +1 @@ +[25, "x", ["T", 0], ["y", 0], ["e", 0]] diff --git a/dhall/tests/parser/success/unit/LetNoAnnotA.dhall b/dhall/tests/parser/success/unit/LetNoAnnotA.dhall new file mode 100644 index 0000000..64d30e6 --- /dev/null +++ b/dhall/tests/parser/success/unit/LetNoAnnotA.dhall @@ -0,0 +1 @@ +let x = y in e diff --git a/dhall/tests/parser/success/unit/LetNoAnnotB.dhallb b/dhall/tests/parser/success/unit/LetNoAnnotB.dhallb Binary files differnew file mode 100644 index 0000000..79a2384 --- /dev/null +++ b/dhall/tests/parser/success/unit/LetNoAnnotB.dhallb diff --git a/dhall/tests/parser/success/unit/LetNoAnnotB.diag b/dhall/tests/parser/success/unit/LetNoAnnotB.diag new file mode 100644 index 0000000..a23f605 --- /dev/null +++ b/dhall/tests/parser/success/unit/LetNoAnnotB.diag @@ -0,0 +1 @@ +[25, "x", null, ["y", 0], ["e", 0]] diff --git a/dhall/tests/parser/success/unit/ToMapA.dhall b/dhall/tests/parser/success/unit/ToMapA.dhall new file mode 100644 index 0000000..ea04391 --- /dev/null +++ b/dhall/tests/parser/success/unit/ToMapA.dhall @@ -0,0 +1 @@ +toMap x diff --git a/dhall/tests/parser/success/unit/ToMapAnnotA.dhall b/dhall/tests/parser/success/unit/ToMapAnnotA.dhall new file mode 100644 index 0000000..ad65b07 --- /dev/null +++ b/dhall/tests/parser/success/unit/ToMapAnnotA.dhall @@ -0,0 +1 @@ +toMap x : T diff --git a/dhall/tests/parser/success/unit/ToMapAnnotB.dhallb b/dhall/tests/parser/success/unit/ToMapAnnotB.dhallb Binary files differnew file mode 100644 index 0000000..4b53587 --- /dev/null +++ b/dhall/tests/parser/success/unit/ToMapAnnotB.dhallb diff --git a/dhall/tests/parser/success/unit/ToMapAnnotB.diag b/dhall/tests/parser/success/unit/ToMapAnnotB.diag new file mode 100644 index 0000000..8e511fb --- /dev/null +++ b/dhall/tests/parser/success/unit/ToMapAnnotB.diag @@ -0,0 +1 @@ +[27, ["x", 0], ["T", 0]] diff --git a/dhall/tests/parser/success/unit/ToMapB.dhallb b/dhall/tests/parser/success/unit/ToMapB.dhallb Binary files differnew file mode 100644 index 0000000..25ecd95 --- /dev/null +++ b/dhall/tests/parser/success/unit/ToMapB.dhallb diff --git a/dhall/tests/parser/success/unit/ToMapB.diag b/dhall/tests/parser/success/unit/ToMapB.diag new file mode 100644 index 0000000..5d25b39 --- /dev/null +++ b/dhall/tests/parser/success/unit/ToMapB.diag @@ -0,0 +1 @@ +[27, ["x", 0]] diff --git a/dhall/tests/parser/success/unit/VariableQuotedWithSpaceA.dhall b/dhall/tests/parser/success/unit/VariableQuotedWithSpaceA.dhall new file mode 100644 index 0000000..a1f4d02 --- /dev/null +++ b/dhall/tests/parser/success/unit/VariableQuotedWithSpaceA.dhall @@ -0,0 +1 @@ +` x ` diff --git a/dhall/tests/parser/success/unit/VariableQuotedWithSpaceB.dhallb b/dhall/tests/parser/success/unit/VariableQuotedWithSpaceB.dhallb Binary files differnew file mode 100644 index 0000000..56d9cd9 --- /dev/null +++ b/dhall/tests/parser/success/unit/VariableQuotedWithSpaceB.dhallb diff --git a/dhall/tests/parser/success/unit/VariableQuotedWithSpaceB.diag b/dhall/tests/parser/success/unit/VariableQuotedWithSpaceB.diag new file mode 100644 index 0000000..035d650 --- /dev/null +++ b/dhall/tests/parser/success/unit/VariableQuotedWithSpaceB.diag @@ -0,0 +1 @@ +[" x ", 0] diff --git a/dhall/tests/type-inference/failure/unit/FunctionTypeOutputTypeNotAType.dhall b/dhall/tests/type-inference/failure/unit/FunctionTypeOutputTypeNotAType.dhall new file mode 100644 index 0000000..94b32f9 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/FunctionTypeOutputTypeNotAType.dhall @@ -0,0 +1 @@ +Bool -> 1 diff --git a/dhall/tests/type-inference/failure/unit/FunctionTypeOutputTypeNotAType.txt b/dhall/tests/type-inference/failure/unit/FunctionTypeOutputTypeNotAType.txt new file mode 100644 index 0000000..bcc44a5 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/FunctionTypeOutputTypeNotAType.txt @@ -0,0 +1,7 @@ +Type error: error: Expected a type, found: `1` + --> <current file>:1:8 + | +1 | Bool -> 1 + | ^ this has type: `Natural` + | + = help: An expression in type position must have type `Type`, `Kind` or `Sort` diff --git a/dhall/tests/type-inference/failure/unit/LetInSort.dhall b/dhall/tests/type-inference/failure/unit/LetInSort.dhall new file mode 100644 index 0000000..125ab28 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/LetInSort.dhall @@ -0,0 +1 @@ +\(x: let x = 0 in Sort) -> 1 diff --git a/dhall/tests/type-inference/failure/unit/LetInSort.txt b/dhall/tests/type-inference/failure/unit/LetInSort.txt new file mode 100644 index 0000000..07be298 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/LetInSort.txt @@ -0,0 +1,6 @@ +Type error: error: Sort does not have a type + --> <current file>:1:18 + | +1 | \(x: let x = 0 in Sort) -> 1 + | ^^^^ Sort does not have a type + | diff --git a/dhall/tests/type-inference/failure/unit/MergeBool.dhall b/dhall/tests/type-inference/failure/unit/MergeBool.dhall new file mode 100644 index 0000000..01e7e3f --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/MergeBool.dhall @@ -0,0 +1 @@ +\(x: { True: Natural, False: Natural }) -> merge x True diff --git a/dhall/tests/type-inference/failure/unit/MergeBool.txt b/dhall/tests/type-inference/failure/unit/MergeBool.txt new file mode 100644 index 0000000..209def1 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/MergeBool.txt @@ -0,0 +1,6 @@ +Type error: error: Merge2ArgMustBeUnionOrOptional + --> <current file>:1:43 + | +1 | \(x: { True: Natural, False: Natural }) -> merge x True + | ^^^^^^^^^^^^ Merge2ArgMustBeUnionOrOptional + | diff --git a/dhall/tests/type-inference/failure/unit/NestedAnnotInnerWrong.dhall b/dhall/tests/type-inference/failure/unit/NestedAnnotInnerWrong.dhall new file mode 100644 index 0000000..7e5c8ec --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/NestedAnnotInnerWrong.dhall @@ -0,0 +1 @@ +(0 : Bool) : Natural diff --git a/dhall/tests/type-inference/failure/unit/NestedAnnotInnerWrong.txt b/dhall/tests/type-inference/failure/unit/NestedAnnotInnerWrong.txt new file mode 100644 index 0000000..b56db54 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/NestedAnnotInnerWrong.txt @@ -0,0 +1,6 @@ +Type error: error: annot mismatch: Natural != Bool + --> <current file>:1:1 + | +1 | (0 : Bool) : Natural + | ^ annot mismatch: Natural != Bool + | diff --git a/dhall/tests/type-inference/failure/unit/NestedAnnotOuterWrong.dhall b/dhall/tests/type-inference/failure/unit/NestedAnnotOuterWrong.dhall new file mode 100644 index 0000000..67a1526 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/NestedAnnotOuterWrong.dhall @@ -0,0 +1 @@ +(0 : Natural) : Bool diff --git a/dhall/tests/type-inference/failure/unit/NestedAnnotOuterWrong.txt b/dhall/tests/type-inference/failure/unit/NestedAnnotOuterWrong.txt new file mode 100644 index 0000000..2f07b8d --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/NestedAnnotOuterWrong.txt @@ -0,0 +1,6 @@ +Type error: error: annot mismatch: Natural != Bool + --> <current file>:1:1 + | +1 | (0 : Natural) : Bool + | ^^^^^^^^^^^ annot mismatch: Natural != Bool + | diff --git a/dhall/tests/type-inference/success/CacheImportsA.dhall b/dhall/tests/type-inference/success/CacheImportsA.dhall new file mode 100644 index 0000000..7180b19 --- /dev/null +++ b/dhall/tests/type-inference/success/CacheImportsA.dhall @@ -0,0 +1,6 @@ +{- + This URL returns (probably) a different result for each request. This test + ensures that import results for a given URL are correctly cached within an + execution of dhall. +-} +let _ = assert : https://csrng.net/csrng/csrng.php?min=0&max=1000 as Text === https://csrng.net/csrng/csrng.php?min=0&max=1000 as Text in 0 diff --git a/dhall/tests/type-inference/success/CacheImportsB.dhall b/dhall/tests/type-inference/success/CacheImportsB.dhall new file mode 100644 index 0000000..2f184a4 --- /dev/null +++ b/dhall/tests/type-inference/success/CacheImportsB.dhall @@ -0,0 +1 @@ +Natural diff --git a/dhall/tests/type-inference/success/CacheImportsCanonicalizeA.dhall b/dhall/tests/type-inference/success/CacheImportsCanonicalizeA.dhall new file mode 100644 index 0000000..e7f4dcd --- /dev/null +++ b/dhall/tests/type-inference/success/CacheImportsCanonicalizeA.dhall @@ -0,0 +1,5 @@ +{- + This URL returns (probably) a different result for each request. This test + ensures that import locations are canonicalized before being cached. +-} +let _ = assert : https://csrng.net/csrng/csrng.php?min=0&max=1000 as Text === https://csrng.net/csrng/../csrng/csrng.php?min=0&max=1000 as Text in 0 diff --git a/dhall/tests/type-inference/success/CacheImportsCanonicalizeB.dhall b/dhall/tests/type-inference/success/CacheImportsCanonicalizeB.dhall new file mode 100644 index 0000000..2f184a4 --- /dev/null +++ b/dhall/tests/type-inference/success/CacheImportsCanonicalizeB.dhall @@ -0,0 +1 @@ +Natural diff --git a/dhall/tests/type-inference/success/regression/LambdaInLetScoping1A.dhall b/dhall/tests/type-inference/success/regression/LambdaInLetScoping1A.dhall new file mode 100644 index 0000000..72f866f --- /dev/null +++ b/dhall/tests/type-inference/success/regression/LambdaInLetScoping1A.dhall @@ -0,0 +1 @@ +let T = 0 in λ(T : Type) → λ(x : T) → 1 diff --git a/dhall/tests/type-inference/success/regression/LambdaInLetScoping1B.dhall b/dhall/tests/type-inference/success/regression/LambdaInLetScoping1B.dhall new file mode 100644 index 0000000..42bfeec --- /dev/null +++ b/dhall/tests/type-inference/success/regression/LambdaInLetScoping1B.dhall @@ -0,0 +1 @@ +∀(T : Type) → ∀(x : T) → Natural diff --git a/dhall/tests/type-inference/success/regression/LambdaInLetScoping2A.dhall b/dhall/tests/type-inference/success/regression/LambdaInLetScoping2A.dhall new file mode 100644 index 0000000..30fd03c --- /dev/null +++ b/dhall/tests/type-inference/success/regression/LambdaInLetScoping2A.dhall @@ -0,0 +1 @@ +(λ(T : Type) → let x = 0 in λ(x : T) → x) : ∀(T : Type) → ∀(x : T) → T diff --git a/dhall/tests/type-inference/success/regression/LambdaInLetScoping2B.dhall b/dhall/tests/type-inference/success/regression/LambdaInLetScoping2B.dhall new file mode 100644 index 0000000..20aa0d3 --- /dev/null +++ b/dhall/tests/type-inference/success/regression/LambdaInLetScoping2B.dhall @@ -0,0 +1 @@ +∀(T : Type) → ∀(x : T) → T diff --git a/dhall/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionA.dhall b/dhall/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionA.dhall new file mode 100644 index 0000000..c7b7fb4 --- /dev/null +++ b/dhall/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionA.dhall @@ -0,0 +1 @@ +{ x : { a : Bool } } ⩓ { x : { b : Bool } } ⩓ { x : { c : Bool } } diff --git a/dhall/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionB.dhall b/dhall/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionB.dhall new file mode 100644 index 0000000..245bc9d --- /dev/null +++ b/dhall/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionB.dhall @@ -0,0 +1 @@ +Type diff --git a/dhall/tests/type-inference/success/regression/TodoA.dhall b/dhall/tests/type-inference/success/regression/TodoA.dhall new file mode 100644 index 0000000..9d5ef34 --- /dev/null +++ b/dhall/tests/type-inference/success/regression/TodoA.dhall @@ -0,0 +1 @@ +λ(todo : ∀(a : Type) → a) → todo diff --git a/dhall/tests/type-inference/success/regression/TodoB.dhall b/dhall/tests/type-inference/success/regression/TodoB.dhall new file mode 100644 index 0000000..e0091f2 --- /dev/null +++ b/dhall/tests/type-inference/success/regression/TodoB.dhall @@ -0,0 +1 @@ +∀(todo : ∀(a : Type) → a) → ∀(a : Type) → a |