From 84dbd740c440b4c048f675486af7292cdf251c9f Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 21 Mar 2018 12:10:11 -0700 Subject: [PATCH] Add tests for Bug#30408 * test/src/editfns-tests.el (format-%d-large-float) (format-%x-large-float, format-%o-invalid-float): New tests. --- test/src/editfns-tests.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/src/editfns-tests.el b/test/src/editfns-tests.el index 69ea6f5cc8..6e1f730166 100644 --- a/test/src/editfns-tests.el +++ b/test/src/editfns-tests.el @@ -142,6 +142,27 @@ transpose-test-get-byte-positions (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. -- 2.14.3