]> git.eshelyaron.com Git - emacs.git/commitdiff
Add tests for Bug#30408
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 21 Mar 2018 19:10:11 +0000 (12:10 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 21 Mar 2018 19:11:52 +0000 (12:11 -0700)
* test/src/editfns-tests.el (format-%d-large-float)
(format-%x-large-float, format-%o-invalid-float): New tests.

test/src/editfns-tests.el

index 69ea6f5cc8fbb72b774d0ccb3fceeaa05ad79158..6e1f730166d54737c1cc9586741809298552f9d6 100644 (file)
   (should (string-equal (format "%#05X" #x10) "0X010"))
   (should (string-equal (format "%#04x" 0) "0000")))
 
+;;; Test Bug#30408.
+(ert-deftest format-%d-large-float ()
+  (should (string-equal (format "%d" 18446744073709551616.0)
+                        "18446744073709551616"))
+  (should (string-equal (format "%d" -18446744073709551616.0)
+                        "-18446744073709551616")))
+
+;;; Another test for Bug#30408.
+;;; Perhaps Emacs will be improved someday to return the correct
+;;; answer for positive numbers instead of overflowing; in
+;;; that case this test will need to be changed.  In the meantime make
+;;; sure Emacs is reporting the overflow correctly.
+(ert-deftest format-%x-large-float ()
+  (should-error (format "%x" 18446744073709551616.0)
+                :type 'overflow-error))
+
+;;; Another test for Bug#30408.
+(ert-deftest format-%o-invalid-float ()
+  (should-error (format "%o" -1e-37)
+                :type 'overflow-error))
+
 ;;; Check format-time-string with various TZ settings.
 ;;; Use only POSIX-compatible TZ values, since the tests should work
 ;;; even if tzdb is not in use.