]> code.delx.au - gnu-emacs/commitdiff
add url-util.el test file
authorTed Zlatanov <tzz@lifelogs.com>
Tue, 15 May 2012 08:52:15 +0000 (04:52 -0400)
committerTed Zlatanov <tzz@lifelogs.com>
Tue, 15 May 2012 08:52:15 +0000 (04:52 -0400)
* automated/url-util-tests.el: New file to test
lisp/url/url-util.el.  Only `url-build-query-string' and
`url-parse-query-string' are tested right now.

test/ChangeLog
test/automated/url-util-tests.el [new file with mode: 0644]

index 0f3db27f188d35b2c6ecb2b0eee9e61942026547..f05c94152a3883850b6dedcbaff77faf59935a25 100644 (file)
@@ -1,3 +1,9 @@
+2012-05-15  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * automated/url-util-tests.el: New file to test
+       lisp/url/url-util.el.  Only `url-build-query-string' and
+       `url-parse-query-string' are tested right now (Bug#8706).
+
 2012-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * indent/shell.sh:
diff --git a/test/automated/url-util-tests.el b/test/automated/url-util-tests.el
new file mode 100644 (file)
index 0000000..65eb37c
--- /dev/null
@@ -0,0 +1,51 @@
+;;; url-util-tests.el --- Test suite for url-util.
+
+;; Copyright (C) 2012  Free Software Foundation, Inc.
+
+;; Author: Teodor Zlatanov <tzz@lifelogs.com>
+;; Keywords: data
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'ert)
+(require 'url-util)
+
+(ert-deftest url-util-tests ()
+  (let ((tests
+         '(("key1=val1&key2=val2&key3=val1&key3=val2&key4&key5"
+            ((key1 val1) (key2 "val2") (key3 val1 val2) (key4) (key5 "")))
+           ("key1=val1;key2=val2;key3=val1;key3=val2;key4;key5"
+            ((key1 "val1") (key2 val2) (key3 val1 val2) ("key4") (key5 "")) t)
+           ("key1=val1;key2=val2;key3=val1;key3=val2;key4=;key5="
+            ((key1 val1) (key2 val2) ("key3" val1 val2) (key4) (key5 "")) t t)))
+        test)
+    (while tests
+      (setq test (car tests)
+            tests (cdr tests))
+      (should (equal (apply 'url-build-query-string (cdr test)) (car test)))))
+  (should (equal (url-parse-query-string
+                  "key1=val1&key2=val2&key3=val1&key3=val2&key4=&key5")
+                 '(("key5" "")
+                   ("key4" "")
+                   ("key3" "val2" "val1")
+                   ("key2" "val2")
+                   ("key1" "val1")))))
+
+(provide 'url-util-tests)
+
+;;; url-util-tests.el ends here