From 4e063b2abc402ac4d6902647e821978269025c7d Mon Sep 17 00:00:00 2001 From: Akshay Date: Wed, 3 Nov 2021 14:48:35 +0530 Subject: add snapshot test suite --- bin/tests/data/bool_comparison.nix | 13 +++++++++++++ bin/tests/data/collapsible_let_in.nix | 9 +++++++++ bin/tests/data/deprecated_is_null.nix | 6 ++++++ bin/tests/data/empty_let_in.nix | 3 +++ bin/tests/data/empty_pattern.nix | 9 +++++++++ bin/tests/data/eta_reduction.nix | 18 ++++++++++++++++++ bin/tests/data/legacy_let_syntax.nix | 5 +++++ bin/tests/data/manual_inherit.nix | 12 ++++++++++++ bin/tests/data/manual_inherit_from.nix | 8 ++++++++ bin/tests/data/redundant_pattern_bind.nix | 1 + bin/tests/data/unquoted_splices.nix | 15 +++++++++++++++ bin/tests/data/unquoted_uri.nix | 1 + bin/tests/data/useless_parens.nix | 16 ++++++++++++++++ 13 files changed, 116 insertions(+) create mode 100644 bin/tests/data/bool_comparison.nix create mode 100644 bin/tests/data/collapsible_let_in.nix create mode 100644 bin/tests/data/deprecated_is_null.nix create mode 100644 bin/tests/data/empty_let_in.nix create mode 100644 bin/tests/data/empty_pattern.nix create mode 100644 bin/tests/data/eta_reduction.nix create mode 100644 bin/tests/data/legacy_let_syntax.nix create mode 100644 bin/tests/data/manual_inherit.nix create mode 100644 bin/tests/data/manual_inherit_from.nix create mode 100644 bin/tests/data/redundant_pattern_bind.nix create mode 100644 bin/tests/data/unquoted_splices.nix create mode 100644 bin/tests/data/unquoted_uri.nix create mode 100644 bin/tests/data/useless_parens.nix (limited to 'bin/tests/data') diff --git a/bin/tests/data/bool_comparison.nix b/bin/tests/data/bool_comparison.nix new file mode 100644 index 0000000..dee2d08 --- /dev/null +++ b/bin/tests/data/bool_comparison.nix @@ -0,0 +1,13 @@ +[ + # trivial + (a == true) + (b == true) + (true == c) + (true == d) + + # not equals + (e != true) + (f != false) + (true != g) + (false != h) +] diff --git a/bin/tests/data/collapsible_let_in.nix b/bin/tests/data/collapsible_let_in.nix new file mode 100644 index 0000000..7b41014 --- /dev/null +++ b/bin/tests/data/collapsible_let_in.nix @@ -0,0 +1,9 @@ +let + a = 2; + b = 3; +in + let + c = 5; + d = 6; + in + a + b + c + d diff --git a/bin/tests/data/deprecated_is_null.nix b/bin/tests/data/deprecated_is_null.nix new file mode 100644 index 0000000..42596d7 --- /dev/null +++ b/bin/tests/data/deprecated_is_null.nix @@ -0,0 +1,6 @@ +let + e = null; +in +if isNull e +then "no" +else "yes" diff --git a/bin/tests/data/empty_let_in.nix b/bin/tests/data/empty_let_in.nix new file mode 100644 index 0000000..3ecb6e4 --- /dev/null +++ b/bin/tests/data/empty_let_in.nix @@ -0,0 +1,3 @@ +let +in + null diff --git a/bin/tests/data/empty_pattern.nix b/bin/tests/data/empty_pattern.nix new file mode 100644 index 0000000..23d99e8 --- /dev/null +++ b/bin/tests/data/empty_pattern.nix @@ -0,0 +1,9 @@ +[ + # match + ({ ... }: 42) + + # don't match + ({ a, ... }: a) + ({ ... } @ inputs: inputs) +] + diff --git a/bin/tests/data/eta_reduction.nix b/bin/tests/data/eta_reduction.nix new file mode 100644 index 0000000..e717ee7 --- /dev/null +++ b/bin/tests/data/eta_reduction.nix @@ -0,0 +1,18 @@ +let + double = x: x * 2; + inherit (builtins) map; + xs = [ 1 2 3 ]; + f = { + inherit double; + val = 2; + }; +in +[ + (map (x: double x) xs) + + # don't lint on non-free exprs + (map (f: f.double f.val) [ f ]) + + # other non-free forms + (map (f: {inherit f;}.double f.val) [ f ]) +] diff --git a/bin/tests/data/legacy_let_syntax.nix b/bin/tests/data/legacy_let_syntax.nix new file mode 100644 index 0000000..46e3191 --- /dev/null +++ b/bin/tests/data/legacy_let_syntax.nix @@ -0,0 +1,5 @@ +let { + body = x + y; + x = "hello,"; + y = " world!"; +} diff --git a/bin/tests/data/manual_inherit.nix b/bin/tests/data/manual_inherit.nix new file mode 100644 index 0000000..53ae4d7 --- /dev/null +++ b/bin/tests/data/manual_inherit.nix @@ -0,0 +1,12 @@ +let + a = 2; + y = "y"; +in +{ + # trivial + a = a; + + # don't lint + x.y = y; +} + diff --git a/bin/tests/data/manual_inherit_from.nix b/bin/tests/data/manual_inherit_from.nix new file mode 100644 index 0000000..214b2a3 --- /dev/null +++ b/bin/tests/data/manual_inherit_from.nix @@ -0,0 +1,8 @@ +let + a = {b = 2; c = 3;}; +in +{ + b = a.b; + c = a.c; +} + diff --git a/bin/tests/data/redundant_pattern_bind.nix b/bin/tests/data/redundant_pattern_bind.nix new file mode 100644 index 0000000..d328c50 --- /dev/null +++ b/bin/tests/data/redundant_pattern_bind.nix @@ -0,0 +1 @@ +{ ... } @ inputs: null diff --git a/bin/tests/data/unquoted_splices.nix b/bin/tests/data/unquoted_splices.nix new file mode 100644 index 0000000..30935b0 --- /dev/null +++ b/bin/tests/data/unquoted_splices.nix @@ -0,0 +1,15 @@ +let + x = 2; + y = 3; + a = { "2" = y; }; +in +[ + ${x} + ${toString (x + y)} + a.${toString x} + + # multiline test + ${ + toString x + } +] diff --git a/bin/tests/data/unquoted_uri.nix b/bin/tests/data/unquoted_uri.nix new file mode 100644 index 0000000..e56574a --- /dev/null +++ b/bin/tests/data/unquoted_uri.nix @@ -0,0 +1 @@ +github:nerdypepper/statix diff --git a/bin/tests/data/useless_parens.nix b/bin/tests/data/useless_parens.nix new file mode 100644 index 0000000..cf26441 --- /dev/null +++ b/bin/tests/data/useless_parens.nix @@ -0,0 +1,16 @@ +let + # parens around primitives + a = { + b = ("hello"); + c = (d); + e = ({ f = 2; }); + }; + + # parens around let-value + g = (1 + 2); + h = ({ inherit i; }); + + # TODO: binary exprs, function args etc. +in + # parens around let body + (null) -- cgit v1.2.3