test + fix for an ifLet regression
This commit is contained in:
@@ -699,10 +699,11 @@ class Macros {
|
|||||||
var gensym = b.symbol();
|
var gensym = b.symbol();
|
||||||
return b.let(
|
return b.let(
|
||||||
[gensym, firstValue],
|
[gensym, firstValue],
|
||||||
[b.callSymbol("case", [
|
[b.callSymbol("if", [
|
||||||
gensym,
|
gensym,
|
||||||
b.call(
|
b.callSymbol("case", [
|
||||||
b.callSymbol("when", [gensym, firstPattern]), [
|
gensym,
|
||||||
|
b.call(firstPattern, [
|
||||||
if (bindingList.length == 0) {
|
if (bindingList.length == 0) {
|
||||||
thenExp;
|
thenExp;
|
||||||
} else {
|
} else {
|
||||||
@@ -714,6 +715,8 @@ class Macros {
|
|||||||
b.callSymbol("otherwise", [
|
b.callSymbol("otherwise", [
|
||||||
elseExp
|
elseExp
|
||||||
])
|
])
|
||||||
|
]),
|
||||||
|
elseExp
|
||||||
])]);
|
])]);
|
||||||
}
|
}
|
||||||
macros["ifLet"] = ifLet.bind(false);
|
macros["ifLet"] = ifLet.bind(false);
|
||||||
|
@@ -364,6 +364,9 @@ class BasicTestCase extends Test {
|
|||||||
_testQuickFractions();
|
_testQuickFractions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testWhenLetGuards() {
|
||||||
|
_testWhenLetGuards();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -689,3 +689,8 @@ From:[(assert false (+ \"false \" \"should \" \"have \" \"been \" \"true\"))]" m
|
|||||||
(function _testQuickFractions []
|
(function _testQuickFractions []
|
||||||
(Assert.equals 0.5 (fHalf 1))
|
(Assert.equals 0.5 (fHalf 1))
|
||||||
(Assert.equals 0 (iHalf 1)))
|
(Assert.equals 0 (iHalf 1)))
|
||||||
|
|
||||||
|
(function _testWhenLetGuards []
|
||||||
|
// Guards should be allowed in whenLet patterns
|
||||||
|
(whenLet [(when true 5) 5]
|
||||||
|
(Assert.pass)))
|
Reference in New Issue
Block a user