summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTed Zlatanov <tzz@lifelogs.com>2012-05-15 04:52:15 -0400
committerTed Zlatanov <tzz@lifelogs.com>2012-05-15 04:52:15 -0400
commit5e561bc76d053d2b8bbf94a1143d214e668017eb (patch)
tree2b5e171cb6cafb087d47b524d57aa5587a5393ab /test
parent530e968e58a69071207897600ca2a019ea878600 (diff)
downloademacs-5e561bc76d053d2b8bbf94a1143d214e668017eb.tar.gz
add url-util.el test file
* 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.
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog6
-rw-r--r--test/automated/url-util-tests.el51
2 files changed, 57 insertions, 0 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 0f3db27f188..f05c94152a3 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -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
index 00000000000..65eb37ce926
--- /dev/null
+++ b/test/automated/url-util-tests.el
@@ -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