From 8325de2db085bb0b3599bc453b658a1dacfe79ae Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 5 Nov 2020 00:18:38 +0000 Subject: tests: add some tests --- dhall/tests/import/failure/unit/DontRecoverCycle.dhall | 1 + dhall/tests/import/failure/unit/MissingFile.dhall | 1 + dhall/tests/import/failure/unit/MissingFile.txt | 6 ++++++ dhall/tests/import/success/unit/AlternativeWithVariableA.dhall | 1 + dhall/tests/import/success/unit/AlternativeWithVariableB.dhall | 1 + dhall/tests/import/success/unit/RecoverTransitiveFailureA.dhall | 1 + dhall/tests/import/success/unit/RecoverTransitiveFailureB.dhall | 1 + .../success/regression/ComplexRecordSimplificationA.dhall | 1 + .../success/regression/ComplexRecordSimplificationB.dhall | 3 +++ dhall/tests/normalization/success/unit/RecordSortFieldsA.dhall | 1 + dhall/tests/normalization/success/unit/RecordSortFieldsB.dhall | 1 + dhall/tests/normalization/success/unit/RecordTypeSortFieldsA.dhall | 1 + dhall/tests/normalization/success/unit/RecordTypeSortFieldsB.dhall | 1 + .../tests/normalization/success/unit/TextReplaceOverlappingA.dhall | 1 + .../tests/normalization/success/unit/TextReplaceOverlappingB.dhall | 1 + dhall/tests/spec.rs | 2 ++ dhall/tests/type-inference/failure/unit/AssertAlphaTrap2.dhall | 1 + 17 files changed, 25 insertions(+) create mode 100644 dhall/tests/import/failure/unit/DontRecoverCycle.dhall create mode 100644 dhall/tests/import/failure/unit/MissingFile.dhall create mode 100644 dhall/tests/import/failure/unit/MissingFile.txt create mode 100644 dhall/tests/import/success/unit/AlternativeWithVariableA.dhall create mode 100644 dhall/tests/import/success/unit/AlternativeWithVariableB.dhall create mode 100644 dhall/tests/import/success/unit/RecoverTransitiveFailureA.dhall create mode 100644 dhall/tests/import/success/unit/RecoverTransitiveFailureB.dhall create mode 100644 dhall/tests/normalization/success/regression/ComplexRecordSimplificationA.dhall create mode 100644 dhall/tests/normalization/success/regression/ComplexRecordSimplificationB.dhall create mode 100644 dhall/tests/normalization/success/unit/RecordSortFieldsA.dhall create mode 100644 dhall/tests/normalization/success/unit/RecordSortFieldsB.dhall create mode 100644 dhall/tests/normalization/success/unit/RecordTypeSortFieldsA.dhall create mode 100644 dhall/tests/normalization/success/unit/RecordTypeSortFieldsB.dhall create mode 100644 dhall/tests/normalization/success/unit/TextReplaceOverlappingA.dhall create mode 100644 dhall/tests/normalization/success/unit/TextReplaceOverlappingB.dhall create mode 100644 dhall/tests/type-inference/failure/unit/AssertAlphaTrap2.dhall (limited to 'dhall') diff --git a/dhall/tests/import/failure/unit/DontRecoverCycle.dhall b/dhall/tests/import/failure/unit/DontRecoverCycle.dhall new file mode 100644 index 0000000..47b22f3 --- /dev/null +++ b/dhall/tests/import/failure/unit/DontRecoverCycle.dhall @@ -0,0 +1 @@ +../../../../../dhall-lang/tests/import/failure/cycle.dhall ? 0 diff --git a/dhall/tests/import/failure/unit/MissingFile.dhall b/dhall/tests/import/failure/unit/MissingFile.dhall new file mode 100644 index 0000000..fdcd044 --- /dev/null +++ b/dhall/tests/import/failure/unit/MissingFile.dhall @@ -0,0 +1 @@ +./doesnt-exist.dhall diff --git a/dhall/tests/import/failure/unit/MissingFile.txt b/dhall/tests/import/failure/unit/MissingFile.txt new file mode 100644 index 0000000..de58996 --- /dev/null +++ b/dhall/tests/import/failure/unit/MissingFile.txt @@ -0,0 +1,6 @@ +Type error: error: error + --> :1:1 + | +1 | ./doesnt-exist.dhall + | ^^^^^^^^^^^^^^^^^^^^ No such file or directory (os error 2) + | diff --git a/dhall/tests/import/success/unit/AlternativeWithVariableA.dhall b/dhall/tests/import/success/unit/AlternativeWithVariableA.dhall new file mode 100644 index 0000000..31f3c6f --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeWithVariableA.dhall @@ -0,0 +1 @@ +let x = 0 in (missing ? x) diff --git a/dhall/tests/import/success/unit/AlternativeWithVariableB.dhall b/dhall/tests/import/success/unit/AlternativeWithVariableB.dhall new file mode 100644 index 0000000..573541a --- /dev/null +++ b/dhall/tests/import/success/unit/AlternativeWithVariableB.dhall @@ -0,0 +1 @@ +0 diff --git a/dhall/tests/import/success/unit/RecoverTransitiveFailureA.dhall b/dhall/tests/import/success/unit/RecoverTransitiveFailureA.dhall new file mode 100644 index 0000000..4508e54 --- /dev/null +++ b/dhall/tests/import/success/unit/RecoverTransitiveFailureA.dhall @@ -0,0 +1 @@ +../failure/MissingFile.dhall ? 0 diff --git a/dhall/tests/import/success/unit/RecoverTransitiveFailureB.dhall b/dhall/tests/import/success/unit/RecoverTransitiveFailureB.dhall new file mode 100644 index 0000000..573541a --- /dev/null +++ b/dhall/tests/import/success/unit/RecoverTransitiveFailureB.dhall @@ -0,0 +1 @@ +0 diff --git a/dhall/tests/normalization/success/regression/ComplexRecordSimplificationA.dhall b/dhall/tests/normalization/success/regression/ComplexRecordSimplificationA.dhall new file mode 100644 index 0000000..c41a3a7 --- /dev/null +++ b/dhall/tests/normalization/success/regression/ComplexRecordSimplificationA.dhall @@ -0,0 +1 @@ +\(foo: { x: Bool, y: Bool }) -> \(bar: { x: Bool }) -> (foo.{x, y} // bar).{ x } diff --git a/dhall/tests/normalization/success/regression/ComplexRecordSimplificationB.dhall b/dhall/tests/normalization/success/regression/ComplexRecordSimplificationB.dhall new file mode 100644 index 0000000..d7026a4 --- /dev/null +++ b/dhall/tests/normalization/success/regression/ComplexRecordSimplificationB.dhall @@ -0,0 +1,3 @@ +λ(foo : { x : Bool, y : Bool }) → +λ(bar : { x : Bool }) → + (foo.{ x, y } ⫽ bar).{ x } diff --git a/dhall/tests/normalization/success/unit/RecordSortFieldsA.dhall b/dhall/tests/normalization/success/unit/RecordSortFieldsA.dhall new file mode 100644 index 0000000..8b7b5e4 --- /dev/null +++ b/dhall/tests/normalization/success/unit/RecordSortFieldsA.dhall @@ -0,0 +1 @@ +{ b = 1, a = 0 } diff --git a/dhall/tests/normalization/success/unit/RecordSortFieldsB.dhall b/dhall/tests/normalization/success/unit/RecordSortFieldsB.dhall new file mode 100644 index 0000000..23aa2b4 --- /dev/null +++ b/dhall/tests/normalization/success/unit/RecordSortFieldsB.dhall @@ -0,0 +1 @@ +{ a = 0, b = 1 } diff --git a/dhall/tests/normalization/success/unit/RecordTypeSortFieldsA.dhall b/dhall/tests/normalization/success/unit/RecordTypeSortFieldsA.dhall new file mode 100644 index 0000000..6b4be0e --- /dev/null +++ b/dhall/tests/normalization/success/unit/RecordTypeSortFieldsA.dhall @@ -0,0 +1 @@ +{ b : Bool, a : Natural } diff --git a/dhall/tests/normalization/success/unit/RecordTypeSortFieldsB.dhall b/dhall/tests/normalization/success/unit/RecordTypeSortFieldsB.dhall new file mode 100644 index 0000000..d52374f --- /dev/null +++ b/dhall/tests/normalization/success/unit/RecordTypeSortFieldsB.dhall @@ -0,0 +1 @@ +{ a : Natural, b : Bool } diff --git a/dhall/tests/normalization/success/unit/TextReplaceOverlappingA.dhall b/dhall/tests/normalization/success/unit/TextReplaceOverlappingA.dhall new file mode 100644 index 0000000..31ca0d9 --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextReplaceOverlappingA.dhall @@ -0,0 +1 @@ +Text/replace "aa" "b" "aaaaa" diff --git a/dhall/tests/normalization/success/unit/TextReplaceOverlappingB.dhall b/dhall/tests/normalization/success/unit/TextReplaceOverlappingB.dhall new file mode 100644 index 0000000..ab8b076 --- /dev/null +++ b/dhall/tests/normalization/success/unit/TextReplaceOverlappingB.dhall @@ -0,0 +1 @@ +"bba" diff --git a/dhall/tests/spec.rs b/dhall/tests/spec.rs index 357181a..c9f607c 100644 --- a/dhall/tests/spec.rs +++ b/dhall/tests/spec.rs @@ -493,6 +493,8 @@ fn define_features() -> Vec { || cfg!(windows) // TODO: import headers || path == "customHeadersUsingBoundVariable" + // TODO: do not recover from cyclic imports + || path == "unit/DontRecoverCycle" }), output_type: FileType::UI, ..default_feature.clone() diff --git a/dhall/tests/type-inference/failure/unit/AssertAlphaTrap2.dhall b/dhall/tests/type-inference/failure/unit/AssertAlphaTrap2.dhall new file mode 100644 index 0000000..bbf13d4 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/AssertAlphaTrap2.dhall @@ -0,0 +1 @@ +\(_: Bool) -> assert : (\(_: Bool) -> _) === (\(x: Bool) -> _) -- cgit v1.2.3