aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorRobert Pluim2020-04-02 17:52:01 +0200
committerRobert Pluim2020-04-03 14:45:49 +0200
commitd08e81ce5a19a0394c2efbdfeb4ebb246d609635 (patch)
tree765bef42ad5bf8278eebb654571f87cbfb4b352f /test
parent463f635171683ae3b6907f156305f12fc58ca68e (diff)
downloademacs-d08e81ce5a19a0394c2efbdfeb4ebb246d609635.tar.gz
emacs-d08e81ce5a19a0394c2efbdfeb4ebb246d609635.zip
Make make-{network,serial}-process handle :coding nil consistently
The handling of :coding nil was different between make-{network,serial}-process and make-{pipe}process. Now they all handle :coding nil as if :coding had not been specified. * process.c (Fmake_serial_process) (set_network_socket_coding_system): Use plist-get to check if :coding has been specified instead of plist-member, to ensure that ":coding nil" does not override coding-system-for-{read,write}. * network-stream-tests.el (check-network-process-coding-system-bind) (check-network-process-coding-system-no-override) (check-network-process-coding-system-override): New tests. * etc/NEWS: Describe change in make-network-process and make-serial-process :coding behavior.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/net/network-stream-tests.el52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/lisp/net/network-stream-tests.el b/test/lisp/net/network-stream-tests.el
index 28686547a44..7a982548ae1 100644
--- a/test/lisp/net/network-stream-tests.el
+++ b/test/lisp/net/network-stream-tests.el
@@ -724,4 +724,56 @@
724 44777 724 44777
725 (vector :nowait t)))) 725 (vector :nowait t))))
726 726
727(ert-deftest check-network-process-coding-system-bind ()
728 "Check that binding coding-system-for-{read,write} works."
729 (let* ((coding-system-for-read 'binary)
730 (coding-system-for-write 'utf-8-unix)
731 (server
732 (make-network-process
733 :name "server"
734 :server t
735 :noquery t
736 :family 'ipv4
737 :service t
738 :host 'local))
739 (coding (process-coding-system server)))
740 (should (eq (car coding) 'binary))
741 (should (eq (cdr coding) 'utf-8-unix))
742 (delete-process server)))
743
744(ert-deftest check-network-process-coding-system-no-override ()
745 "Check that coding-system-for-{read,write} is not overridden by :coding nil."
746 (let* ((coding-system-for-read 'binary)
747 (coding-system-for-write 'utf-8-unix)
748 (server
749 (make-network-process
750 :name "server"
751 :server t
752 :noquery t
753 :family 'ipv4
754 :service t
755 :coding nil
756 :host 'local))
757 (coding (process-coding-system server)))
758 (should (eq (car coding) 'binary))
759 (should (eq (cdr coding) 'utf-8-unix))
760 (delete-process server)))
761
762(ert-deftest check-network-process-coding-system-override ()
763 "Check that :coding non-nil overrides coding-system-for-{read,write}."
764 (let* ((coding-system-for-read 'binary)
765 (coding-system-for-write 'utf-8-unix)
766 (server
767 (make-network-process
768 :name "server"
769 :server t
770 :noquery t
771 :family 'ipv4
772 :service t
773 :coding 'georgian-academy
774 :host 'local))
775 (coding (process-coding-system server)))
776 (should (eq (car coding) 'georgian-academy))
777 (should (eq (cdr coding) 'georgian-academy))
778 (delete-process server)))
727;;; network-stream-tests.el ends here 779;;; network-stream-tests.el ends here