emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] master c48e539 2/2: Use the expression angle units whi


From: Ken Brown
Subject: Re: [Emacs-diffs] master c48e539 2/2: Use the expression angle units while simplifying it
Date: Thu, 25 May 2017 17:42:05 -0400
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1

On 5/18/2017 1:47 AM, Tino Calancha wrote:
--- a/test/lisp/calc/calc-tests.el
+++ b/test/lisp/calc/calc-tests.el
@@ -86,6 +86,50 @@ An existing calc stack is reused, otherwise a new one is 
created."
                                               (math-read-expr "1m") "cm")
                            '(* -100 (var cm var-cm)))))
+(ert-deftest test-calc-23889 ()
+  "Test forhttp://debbugs.gnu.org/23889  and 25652."
+  (dolist (mode '(deg rad))
+    (let ((calc-angle-mode mode))
+      ;; If user inputs angle units, then should ignore `calc-angle-mode'.
+      (should (string= "5253"
+                       (substring
+                        (number-to-string
+                         (nth 1
+                              (math-simplify-units
+                               '(calcFunc-cos (* 45 (var rad var-rad))))))
+                        0 4)))

This can fail on some platforms, depending on the size of a Lisp integer, because

(nth 1
     (math-simplify-units
      '(calcFunc-cos (* 45 (var rad var-rad)))))

doesn't necessarily evaluate to an integer. For example, on 32-bit Cygwin it evaluates to (bigpos 8818 2198 5253). This causes the test to fail as follows:

$ make -C test calc-tests SELECTOR='\"test-calc-23889$$\"'
[...]
Test test-calc-23889 condition:
    (wrong-type-argument numberp
                         (bigpos 8818 2198 5253))
   FAILED  1/1  test-calc-23889

Ken



reply via email to

[Prev in Thread] Current Thread [Next in Thread]