emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 8aca659 3/3: Use lexical-binding in puny.el and add more tests


From: Stefan Kangas
Subject: master 8aca659 3/3: Use lexical-binding in puny.el and add more tests
Date: Tue, 28 Apr 2020 15:55:19 -0400 (EDT)

branch: master
commit 8aca659bd14602c770d02902817fbedf78cadab7
Author: Stefan Kangas <address@hidden>
Commit: Stefan Kangas <address@hidden>

    Use lexical-binding in puny.el and add more tests
    
    * lisp/net/puny.el: Use lexical-binding.
    * test/lisp/net/puny-tests.el (puny-test-encode-domain)
    (puny-test-decode-domain, puny-highly-restrictive-domain-p): New
    tests.
---
 lisp/net/puny.el            |  2 +-
 test/lisp/net/puny-tests.el | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/lisp/net/puny.el b/lisp/net/puny.el
index 6987d25..cc40607 100644
--- a/lisp/net/puny.el
+++ b/lisp/net/puny.el
@@ -1,4 +1,4 @@
-;;; puny.el --- translate non-ASCII domain names to ASCII
+;;; puny.el --- translate non-ASCII domain names to ASCII  -*- 
lexical-binding:t -*-
 
 ;; Copyright (C) 2015-2020 Free Software Foundation, Inc.
 
diff --git a/test/lisp/net/puny-tests.el b/test/lisp/net/puny-tests.el
index 288bc2f..7dac397 100644
--- a/test/lisp/net/puny-tests.el
+++ b/test/lisp/net/puny-tests.el
@@ -38,4 +38,25 @@
   "Test puny decoding."
   (should (string= (puny-decode-string "xn--9dbdkw") "חנוך")))
 
+(ert-deftest puny-test-encode-domain ()
+  (should (string= (puny-encode-domain "åäö.se") "xn--4cab6c.se")))
+
+(ert-deftest puny-test-decode-domain ()
+  (should (string= (puny-decode-domain "xn--4cab6c.se") "åäö.se")))
+
+(ert-deftest puny-highly-restrictive-domain-p ()
+  (should (puny-highly-restrictive-domain-p "foo.bar.org"))
+  (should (puny-highly-restrictive-domain-p "foo.abcåäö.org"))
+  (should (puny-highly-restrictive-domain-p "foo.ர.org"))
+  ;; Disallow unicode character 2044, visually similar to "/".
+  (should-not (puny-highly-restrictive-domain-p 
"www.yourbank.com⁄login⁄checkUser.jsp?inxs.ch"))
+  ;; Disallow mixing scripts.
+  (should-not (puny-highly-restrictive-domain-p "åர.org"))
+  ;; Only allowed in moderately restrictive.
+  (should-not (puny-highly-restrictive-domain-p "Teχ.org"))
+  (should-not (puny-highly-restrictive-domain-p "HλLF-LIFE.org"))
+  (should-not (puny-highly-restrictive-domain-p "Ωmega.org"))
+  ;; Only allowed in unrestricted.
+  (should-not (puny-highly-restrictive-domain-p "I♥NY.org")))
+
 ;;; puny-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]