mirror of
https://github.com/NixOS/nix
synced 2025-07-02 21:51:50 +02:00
Format .nix files
This does not include any automation for the release branch, but is based on the configuration of https://github.com/NixOS/nix/pull/12349 pre-commit run -a nixfmt-rfc-style
This commit is contained in:
parent
42b22fe3de
commit
2f1b70a529
259 changed files with 7729 additions and 5286 deletions
|
@ -1,48 +1,197 @@
|
|||
with builtins;
|
||||
|
||||
# Non capturing regex returns empty lists
|
||||
assert split "foobar" "foobar" == ["" [] ""];
|
||||
assert split "fo*" "f" == ["" [] ""];
|
||||
assert split "fo+" "f" == ["f"];
|
||||
assert split "fo*" "fo" == ["" [] ""];
|
||||
assert split "fo*" "foo" == ["" [] ""];
|
||||
assert split "fo+" "foo" == ["" [] ""];
|
||||
assert split "fo{1,2}" "foo" == ["" [] ""];
|
||||
assert split "fo{1,2}" "fooo" == ["" [] "o"];
|
||||
assert split "fo*" "foobar" == ["" [] "bar"];
|
||||
assert
|
||||
split "foobar" "foobar" == [
|
||||
""
|
||||
[ ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "fo*" "f" == [
|
||||
""
|
||||
[ ]
|
||||
""
|
||||
];
|
||||
assert split "fo+" "f" == [ "f" ];
|
||||
assert
|
||||
split "fo*" "fo" == [
|
||||
""
|
||||
[ ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "fo*" "foo" == [
|
||||
""
|
||||
[ ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "fo+" "foo" == [
|
||||
""
|
||||
[ ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "fo{1,2}" "foo" == [
|
||||
""
|
||||
[ ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "fo{1,2}" "fooo" == [
|
||||
""
|
||||
[ ]
|
||||
"o"
|
||||
];
|
||||
assert
|
||||
split "fo*" "foobar" == [
|
||||
""
|
||||
[ ]
|
||||
"bar"
|
||||
];
|
||||
|
||||
# Capturing regex returns a list of sub-matches
|
||||
assert split "(fo*)" "f" == ["" ["f"] ""];
|
||||
assert split "(fo+)" "f" == ["f"];
|
||||
assert split "(fo*)" "fo" == ["" ["fo"] ""];
|
||||
assert split "(f)(o*)" "f" == ["" ["f" ""] ""];
|
||||
assert split "(f)(o*)" "foo" == ["" ["f" "oo"] ""];
|
||||
assert split "(fo+)" "foo" == ["" ["foo"] ""];
|
||||
assert split "(fo{1,2})" "foo" == ["" ["foo"] ""];
|
||||
assert split "(fo{1,2})" "fooo" == ["" ["foo"] "o"];
|
||||
assert split "(fo*)" "foobar" == ["" ["foo"] "bar"];
|
||||
assert
|
||||
split "(fo*)" "f" == [
|
||||
""
|
||||
[ "f" ]
|
||||
""
|
||||
];
|
||||
assert split "(fo+)" "f" == [ "f" ];
|
||||
assert
|
||||
split "(fo*)" "fo" == [
|
||||
""
|
||||
[ "fo" ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "(f)(o*)" "f" == [
|
||||
""
|
||||
[
|
||||
"f"
|
||||
""
|
||||
]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "(f)(o*)" "foo" == [
|
||||
""
|
||||
[
|
||||
"f"
|
||||
"oo"
|
||||
]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "(fo+)" "foo" == [
|
||||
""
|
||||
[ "foo" ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "(fo{1,2})" "foo" == [
|
||||
""
|
||||
[ "foo" ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "(fo{1,2})" "fooo" == [
|
||||
""
|
||||
[ "foo" ]
|
||||
"o"
|
||||
];
|
||||
assert
|
||||
split "(fo*)" "foobar" == [
|
||||
""
|
||||
[ "foo" ]
|
||||
"bar"
|
||||
];
|
||||
|
||||
# Matches are greedy.
|
||||
assert split "(o+)" "oooofoooo" == ["" ["oooo"] "f" ["oooo"] ""];
|
||||
assert
|
||||
split "(o+)" "oooofoooo" == [
|
||||
""
|
||||
[ "oooo" ]
|
||||
"f"
|
||||
[ "oooo" ]
|
||||
""
|
||||
];
|
||||
|
||||
# Matches multiple times.
|
||||
assert split "(b)" "foobarbaz" == ["foo" ["b"] "ar" ["b"] "az"];
|
||||
assert
|
||||
split "(b)" "foobarbaz" == [
|
||||
"foo"
|
||||
[ "b" ]
|
||||
"ar"
|
||||
[ "b" ]
|
||||
"az"
|
||||
];
|
||||
|
||||
# Split large strings containing newlines. null are inserted when a
|
||||
# pattern within the current did not match anything.
|
||||
assert split "[[:space:]]+|([',.!?])" ''
|
||||
Nix Rocks!
|
||||
That's why I use it.
|
||||
'' == [
|
||||
"Nix" [ null ] "Rocks" ["!"] "" [ null ]
|
||||
"That" ["'"] "s" [ null ] "why" [ null ] "I" [ null ] "use" [ null ] "it" ["."] "" [ null ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "[[:space:]]+|([',.!?])" ''
|
||||
Nix Rocks!
|
||||
That's why I use it.
|
||||
'' == [
|
||||
"Nix"
|
||||
[ null ]
|
||||
"Rocks"
|
||||
[ "!" ]
|
||||
""
|
||||
[ null ]
|
||||
"That"
|
||||
[ "'" ]
|
||||
"s"
|
||||
[ null ]
|
||||
"why"
|
||||
[ null ]
|
||||
"I"
|
||||
[ null ]
|
||||
"use"
|
||||
[ null ]
|
||||
"it"
|
||||
[ "." ]
|
||||
""
|
||||
[ null ]
|
||||
""
|
||||
];
|
||||
|
||||
# Documentation examples
|
||||
assert split "(a)b" "abc" == [ "" [ "a" ] "c" ];
|
||||
assert split "([ac])" "abc" == [ "" [ "a" ] "b" [ "c" ] "" ];
|
||||
assert split "(a)|(c)" "abc" == [ "" [ "a" null ] "b" [ null "c" ] "" ];
|
||||
assert split "([[:upper:]]+)" " FOO " == [ " " [ "FOO" ] " " ];
|
||||
assert
|
||||
split "(a)b" "abc" == [
|
||||
""
|
||||
[ "a" ]
|
||||
"c"
|
||||
];
|
||||
assert
|
||||
split "([ac])" "abc" == [
|
||||
""
|
||||
[ "a" ]
|
||||
"b"
|
||||
[ "c" ]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "(a)|(c)" "abc" == [
|
||||
""
|
||||
[
|
||||
"a"
|
||||
null
|
||||
]
|
||||
"b"
|
||||
[
|
||||
null
|
||||
"c"
|
||||
]
|
||||
""
|
||||
];
|
||||
assert
|
||||
split "([[:upper:]]+)" " FOO " == [
|
||||
" "
|
||||
[ "FOO" ]
|
||||
" "
|
||||
];
|
||||
|
||||
true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue