feat(users/sterni/nix): move flow.match to string.match
After all it only matches strings. Change-Id: I3d2e5221ef43f692de69028e78ed98b6b11f82d1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2586 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
parent
ed3fce2b19
commit
8ff14cacb6
5 changed files with 17 additions and 14 deletions
|
@ -44,11 +44,9 @@ let
|
||||||
# TODO(sterni): condf or magic
|
# TODO(sterni): condf or magic
|
||||||
# like <nixpkgs/pkgs/build-support/coq/extra-lib.nix>
|
# like <nixpkgs/pkgs/build-support/coq/extra-lib.nix>
|
||||||
|
|
||||||
match = val: matcher: matcher."${val}";
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
inherit
|
inherit
|
||||||
cond
|
cond
|
||||||
match
|
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,17 +33,7 @@ let
|
||||||
]))
|
]))
|
||||||
];
|
];
|
||||||
|
|
||||||
testMatch = it "tests match" [
|
|
||||||
(assertEq "basic match usage" 42
|
|
||||||
(match "answer" {
|
|
||||||
"answer" = 42;
|
|
||||||
"banana" = dontEval;
|
|
||||||
"maleur" = dontEval;
|
|
||||||
}))
|
|
||||||
];
|
|
||||||
|
|
||||||
in
|
in
|
||||||
runTestsuite "nix.flow" [
|
runTestsuite "nix.flow" [
|
||||||
testCond
|
testCond
|
||||||
testMatch
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -12,7 +12,6 @@ let
|
||||||
int
|
int
|
||||||
string
|
string
|
||||||
fun
|
fun
|
||||||
flow
|
|
||||||
;
|
;
|
||||||
|
|
||||||
testBounds = it "checks minBound and maxBound" [
|
testBounds = it "checks minBound and maxBound" [
|
||||||
|
@ -113,7 +112,7 @@ let
|
||||||
|
|
||||||
checkShift = { a, b, c, op }@args:
|
checkShift = { a, b, c, op }@args:
|
||||||
let
|
let
|
||||||
f = flow.match op {
|
f = string.match op {
|
||||||
"<<" = int.bitShiftL;
|
"<<" = int.bitShiftL;
|
||||||
">>" = int.bitShiftR;
|
">>" = int.bitShiftR;
|
||||||
};
|
};
|
||||||
|
|
|
@ -55,6 +55,9 @@ let
|
||||||
then s
|
then s
|
||||||
else pad { inherit char; "${side}" = diff; } s;
|
else pad { inherit char; "${side}" = diff; } s;
|
||||||
|
|
||||||
|
# pattern matching for strings only
|
||||||
|
match = val: matcher: matcher."${val}";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
inherit
|
inherit
|
||||||
take
|
take
|
||||||
|
@ -67,5 +70,6 @@ in {
|
||||||
fromChars
|
fromChars
|
||||||
pad
|
pad
|
||||||
fit
|
fit
|
||||||
|
match
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,9 +45,21 @@ let
|
||||||
null)
|
null)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontEval = builtins.throw "this should not get evaluated";
|
||||||
|
|
||||||
|
testMatch = it "tests match" [
|
||||||
|
(assertEq "basic match usage" 42
|
||||||
|
(string.match "answer" {
|
||||||
|
"answer" = 42;
|
||||||
|
"banana" = dontEval;
|
||||||
|
"maleur" = dontEval;
|
||||||
|
}))
|
||||||
|
];
|
||||||
|
|
||||||
in
|
in
|
||||||
runTestsuite "nix.string" [
|
runTestsuite "nix.string" [
|
||||||
testTakeDrop
|
testTakeDrop
|
||||||
testIndexing
|
testIndexing
|
||||||
testFinding
|
testFinding
|
||||||
|
testMatch
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue