diff options
author | Eli Zaretskii <eliz@gnu.org> | 2022-10-21 18:29:05 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2022-10-21 18:29:05 +0300 |
commit | 9bc1999b6f2d92e06a2c3d95dfde0b64ee1c6daf (patch) | |
tree | 7f49338c8f17decd469df33eff8a13930155d421 /test/lisp/emacs-lisp/bindat-tests.el | |
parent | 4bb4b2a921ddc901802863005427fefbfa70807e (diff) | |
parent | 40a361fbd600cba00f97e853112534626f10c654 (diff) | |
download | emacs-9bc1999b6f2d92e06a2c3d95dfde0b64ee1c6daf.tar.gz emacs-9bc1999b6f2d92e06a2c3d95dfde0b64ee1c6daf.tar.bz2 emacs-9bc1999b6f2d92e06a2c3d95dfde0b64ee1c6daf.zip |
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Diffstat (limited to 'test/lisp/emacs-lisp/bindat-tests.el')
-rw-r--r-- | test/lisp/emacs-lisp/bindat-tests.el | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/test/lisp/emacs-lisp/bindat-tests.el b/test/lisp/emacs-lisp/bindat-tests.el index 0c03c51e2ef..2abf714852f 100644 --- a/test/lisp/emacs-lisp/bindat-tests.el +++ b/test/lisp/emacs-lisp/bindat-tests.el @@ -252,7 +252,24 @@ (should (equal (bindat-unpack spec "abc\0") "abc")) ;; Missing null terminator. (should-error (bindat-unpack spec "")) - (should-error (bindat-unpack spec "a")))) + (should-error (bindat-unpack spec "a"))) + + (ert-deftest bindat-test--strz-array-unpack () + (should (equal (bindat-unpack spec [#x61 #x62 #x63 #x00]) "abc")))) + +(let ((spec (bindat-type str 3))) + (ert-deftest bindat-test--str-simple-array-unpack () + (should (equal (bindat-unpack spec [#x61 #x62 #x63]) "abc")))) + +(let ((spec (bindat-type + (first u8) + (string str 3) + (last uint 16)))) + (ert-deftest bindat-test--str-combined-array-unpack () + (let ((unpacked (bindat-unpack spec [#xff #x63 #x62 #x61 #xff #xff]))) + (should (equal (bindat-get-field unpacked 'string) "cba")) + (should (equal (bindat-get-field unpacked 'first) (- (expt 2 8) 1))) + (should (equal (bindat-get-field unpacked 'last) (- (expt 2 16) 1)))))) (let ((spec '((x strz 2)))) (ert-deftest bindat-test--strz-legacy-fixedlen-len () |