fix: Parse numeric input for scientific ops and expose operators to tests

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-03-14 16:34:49 -06:00
committed by Tanner
parent 6ae1b173bd
commit 2c91af6759
2 changed files with 10 additions and 10 deletions
+7 -7
View File
@@ -417,7 +417,7 @@ function buttonPress(val) {
displayOutput(results);
prevExpression = "sin(" + prevExpression + ")";
} else if (currNumber != null) {
let angle = currNumber;
let angle = parseFloat(currNumber);
if (angleMode === 'deg') {
angle = angle * Math.PI / 180;
}
@@ -437,7 +437,7 @@ function buttonPress(val) {
displayOutput(results);
prevExpression = "cos(" + prevExpression + ")";
} else if (currNumber != null) {
let angle = currNumber;
let angle = parseFloat(currNumber);
if (angleMode === 'deg') {
angle = angle * Math.PI / 180;
}
@@ -457,7 +457,7 @@ function buttonPress(val) {
displayOutput(results);
prevExpression = "tan(" + prevExpression + ")";
} else if (currNumber != null) {
let angle = currNumber;
let angle = parseFloat(currNumber);
if (angleMode === 'deg') {
angle = angle * Math.PI / 180;
}
@@ -473,7 +473,7 @@ function buttonPress(val) {
displayOutput(results);
prevExpression = "log(" + prevExpression + ")";
} else if (currNumber != null) {
currNumber = Math.log(currNumber) / Math.LN10;
currNumber = Math.log(parseFloat(currNumber)) / Math.LN10;
displayOutput(currNumber);
currExpression = "log(" + currExpression + ")";
}
@@ -485,7 +485,7 @@ function buttonPress(val) {
displayOutput(results);
prevExpression = "10^(" + prevExpression + ")";
} else if (currNumber != null) {
currNumber = Math.pow(10, currNumber);
currNumber = Math.pow(10, parseFloat(currNumber));
displayOutput(currNumber);
currExpression = "10^(" + currExpression + ")";
}
@@ -497,7 +497,7 @@ function buttonPress(val) {
displayOutput(results);
prevExpression = "ln(" + prevExpression + ")";
} else if (currNumber != null) {
currNumber = Math.log(currNumber);
currNumber = Math.log(parseFloat(currNumber));
displayOutput(currNumber);
currExpression = "ln(" + currExpression + ")";
}
@@ -509,7 +509,7 @@ function buttonPress(val) {
displayOutput(results);
prevExpression = "e^(" + prevExpression + ")";
} else if (currNumber != null) {
currNumber = Math.exp(currNumber);
currNumber = Math.exp(parseFloat(currNumber));
displayOutput(currNumber);
currExpression = "e^(" + currExpression + ")";
}
+3 -3
View File
@@ -66,9 +66,9 @@ global.load = () => {};
// We wrap the app code in a function that returns the buttonPress function,
// so we can capture it and use it in our tests.
const calculatorCode = fs.readFileSync(path.join(__dirname, 'calculator.app.js'), 'utf8');
const wrappedCode = `(function(require) { ${calculatorCode}; return buttonPress; })`;
const getButtonPress = eval(wrappedCode);
const buttonPress = getButtonPress((name) => {
const wrappedCode = `(function(require) { ${calculatorCode}; return { buttonPress, scientificOperators }; })`;
const getAppFns = eval(wrappedCode);
const { buttonPress, scientificOperators } = getAppFns((name) => {
if (name === "FontDylex7x13") {
return { add: () => {} };
}