[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil-numbers 6087ef48b9 140/145: Tests: run increment oper
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil-numbers 6087ef48b9 140/145: Tests: run increment operations at different offsets |
Date: |
Thu, 6 Jan 2022 03:00:25 -0500 (EST) |
branch: elpa/evil-numbers
commit 6087ef48b932a240c56af10ca22f9e5059479b50
Author: Campbell Barton <ideasman42@gmail.com>
Commit: Campbell Barton <ideasman42@gmail.com>
Tests: run increment operations at different offsets
This would have prevented bug #18,
as well as related issues from happening in the future.
---
tests/evil-numbers-test.el | 42 +++++++++++++++++++++++++++---------------
1 file changed, 27 insertions(+), 15 deletions(-)
diff --git a/tests/evil-numbers-test.el b/tests/evil-numbers-test.el
index 5a5a999e2e..f2c1e770a5 100644
--- a/tests/evil-numbers-test.el
+++ b/tests/evil-numbers-test.el
@@ -98,10 +98,14 @@
(ert-deftest simple-hex ()
"Check hexadecimal is detected at all parts."
(let ((text-initial " 0xFFF "))
- (dolist (keys-offset (list "" "l" "ll" "lll" "llll" "lllll"))
+ ;; Test incrementing at different offsets,
+ ;; this ensures scanning the hexadecimal is handled properly.
+ (dotimes (i 6)
(with-evil-numbers-test
text-initial
- (simulate-input (kbd keys-offset) (kbd "C-a") "a|")
+ (dotimes (_ i)
+ (simulate-input "l"))
+ (simulate-input (kbd "C-a") "a|")
(should (equal " 0x1000| " (buffer-string)))))
(with-evil-numbers-test
text-initial
@@ -113,10 +117,13 @@
"Check hexadecimal is detected at all parts."
(let ((text-expected " -0x1| ")
(text-initial " 0x0 "))
- (with-evil-numbers-test
- text-initial
- (simulate-input (kbd "C-x") "a|" (kbd "<escape>"))
- (should (equal text-expected (buffer-string))))))
+ (dotimes (i 4)
+ (with-evil-numbers-test
+ text-initial
+ (dotimes (_ i)
+ (simulate-input "l"))
+ (simulate-input (kbd "C-x") "a|" (kbd "<escape>"))
+ (should (equal text-expected (buffer-string)))))))
(ert-deftest simple-nop-non-number ()
"Do nothing, the value under the cursor is not a number."
@@ -157,18 +164,23 @@
(ert-deftest simple-separator-chars ()
"Check a single number increments."
- (let ((text-expected "111_111_111|")
- (text-initial "111_111_110"))
- (with-evil-numbers-test
- text-initial
- (setq-local evil-numbers-separator-chars "_")
- (simulate-input (kbd "C-a") "a|")
- (should (equal text-expected (buffer-string))))))
+ (let ((text-expected "1_11_111|")
+ (text-initial "1_11_110"))
+ ;; Test at different offsets to ensure
+ ;; there are no bugs similar to #18 occurring.
+ (dotimes (i 8)
+ (with-evil-numbers-test
+ text-initial
+ (setq-local evil-numbers-separator-chars "_")
+ (dotimes (_ i)
+ (simulate-input "l"))
+ (simulate-input (kbd "C-a") "a|")
+ (should (equal text-expected (buffer-string)))))))
(ert-deftest simple-separator-chars-disabled ()
"Check a single number increments."
- (let ((text-expected "111|_111_111")
- (text-initial "110_111_111"))
+ (let ((text-expected "2|_11_111")
+ (text-initial "1_11_111"))
(with-evil-numbers-test
text-initial
(setq-local evil-numbers-separator-chars nil)
- [nongnu] elpa/evil-numbers 299e0418ca 093/145: Cleanup: remove duplicate number search logic, (continued)
- [nongnu] elpa/evil-numbers 299e0418ca 093/145: Cleanup: remove duplicate number search logic, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 445943fbce 082/145: Fix #17 bin/octal/hex numbers don't support becoming negative, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 79daec88d5 110/145: Cleanup: sort code into sections, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers b88595d46b 112/145: Cleanup: reduce vertical space use, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers a427fda95e 111/145: Update README.org, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers a01fa6b83a 106/145: Rename evil-numbers/padDefault to evil-numbers-pad-default, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 01c68921b5 114/145: README.org: update keymap examples, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 8d84bd3763 108/145: Cleanup: remove strict number searching logic, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers a65dbc5094 123/145: Cleanup: remove nil for empty body, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers bce451b700 137/145: Use message instead of error when no number is found, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 6087ef48b9 140/145: Tests: run increment operations at different offsets,
ELPA Syncer <=
- [nongnu] elpa/evil-numbers 8ce0066fa4 143/145: Tests: rename evil-numbers-test.el to evil-numbers-tests.el, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers d7a3e6ddec 129/145: Add evil to requirements, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 11883bc3a3 124/145: Fix incremental regression in cleanup from 7602f3b4842f4ec149d3b8ed32c9da9f771597c3, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers f48504348f 121/145: Add evil-numbers-case option, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 6ff686be13 120/145: Cleanup: remove autoload on defcustom, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 9423e4cb8f 142/145: Tests: add simple-hex-negative-to-positive, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 8761f55167 144/145: Cleanup: redundant group usage, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 061de6f895 139/145: Tests: watch evil-numbers.el as well as the tests, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers b2e8ac003f 023/145: Fix install documentation., ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers afbc461412 014/145: Tag version 0.1, ELPA Syncer, 2022/01/06