Hi Patrick,
First of all, tests must pass on Wine and Windows. Your test won't pass on any of them! When you have a test that passes on Windows, please send one function implementation and tests in one patch.
Patrick Rudolph wrote:
From c43e52c3446fb846a760002f0222f697075fad1b Mon Sep 17 00:00:00 2001 From: Patrick Rudolph patrick1804@web.de Date: Thu, 11 Dec 2008 17:48:38 +0100 Subject: jscript: api.js added test routines for Math functions
modified: dlls/jscript/tests/api.js added tests for : Math.PI Math.E Math.SQRT2 Math.SQRT1_2 Math.sin Math.cos Math.random Math.tan Math.atan Math.asin Math.acos Math.log math.atan2
dlls/jscript/tests/api.js | 38 +++++++++++++++----------------------- 1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js index 6430397..50a28d5 100644 --- a/dlls/jscript/tests/api.js +++ b/dlls/jscript/tests/api.js
+i = (Math.PI()).toString();
Math.PI is constant, not function so you can't call it. You'd know that if you'd verified that the test passes on Windows.
+ok(i === "3.14159265358979","Math.PI() = " + i);
It's bad idea to compare double values in tests, and comparing strings is strange here. Math.PI already has a test, look there how it's done there.
+i = (Math.E()).toString(); +ok(i === "2.71828182845905","Math.E() = " + i);
Same here.
+i = (Math.SQRT2()).toString(); +ok(i === "1.4142135623731","Math.SQRT2() = " + i);
And here.
+i = (Math.SQRT1_2()).toString(); +ok(i === "0.707106781186547","Math.SQRT1_2() = " + i);
And here.
+i = Math.sin(0); +ok(i === 0, "Math.sin(0) = " + i);
+i = Math.cos(0); +ok(i === 1, "Math.cos(0) = " + i);
+i = Math.tan(0); +ok(i === 0, "Math.tan(0) = " + i);
+i = Math.log(1); +ok(i === 0 , "Math.log() = " + i);
+i = Math.random(); +ok(i !== 0 , "Math.random() = " + i);
+i = Math.random(); +ok(i !== 1 , "Math.random() = " + i);
+i = Math.atan2(0,1); +ok(i === 0 , "Math.atan2(0,1) = " + i);
+i = Math.atan(0); +ok(i === 0 , "Math.atan(0) = " + i);
+i = (Math.asin(1)).toString(); +ok(i === "1.5707963267949" , "Math.asin(1) = " + i);
+i = (Math.acos(-1)).toString(); +ok(i === "3.14159265358979" , "Math.acos(-1) = " + i);
There functions should have more tests like passing no argument, testing invalid asin/acos arguments, passing too much arguments (and should be sent in one patch, together with implementation).
Also, in other patches, please add comments pointing to specifications of these function when you implement them. It would be good idea to get one patch accepted before resending the whole series.
Jacek