Mercurial > hg > xemacs-beta
diff tests/automated/face-tests.el @ 5763:23dc211f4d2f
Make fc-name-parse signal on invalid-argument.
Add fc-name-parse-harder, which retries without unparseable attributes.
Add tests for fc-name-parse and fc-name-parse-harder.
A few fixups in comments and docstrings.
author | Stephen J. Turnbull <stephen@xemacs.org> |
---|---|
date | Sun, 15 Sep 2013 23:50:20 +0900 |
parents | |
children | f22989bb7632 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/automated/face-tests.el Sun Sep 15 23:50:20 2013 +0900 @@ -0,0 +1,104 @@ +;;; face-tests.el --- test text display (faces, fonts) -*- coding: utf-8 -*- + +;; Copyright (C) 2013 Free Software Foundation, Inc. + +;; Author: Stephen J. Turnbull <stephen@xemacs.org> +;; Created: 2013 +;; Keywords: tests + +;; This file is part of XEmacs. + +;; XEmacs 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. + +;; XEmacs 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 XEmacs. If not, see <http://www.gnu.org/licenses/>. + +;;; Synched up with: Not in FSF. + +;;; Commentary: + +;; Test text display (faces, fonts) + +;; Test fontconfig + +(let* ((test-name-parts + '("Bitstream Vera Sans Mono-16" + "familylang=en" + "style=Roman" + "stylelang=en" + "fullname=Bitstream Vera Sans Mono" + "fullnamelang=en" + "slant=0" + "weight=80" + "width=100" + "pixelsize=21.3174" + "spacing=100" + "foundry=bitstream" + "antialias=True" + "hintstyle=3" + "hinting=True" + "verticallayout=False" + "autohint=False" + "globaladvance=True" + "file=/usr/X11/lib/X11/fonts/TTF/VeraMono.ttf" + "index=0" + "outline=True" + "scalable=True" + "dpi=95.9282" + "rgba=0" + "scale=1" + "minspace=False" + "charset= |>^1!|>^1!P0oWQ |>^1!|>^1!|>^1!!!!%#gfN8.!!B7%ggR6OF3y?4!!K?& !!!)$ 9;*f! !!!.% !!!)$!!!!# !!#0GM>RAd#y#fx !!!W5 !!#3H !!!!& !!#6I<UKaX!!!?+!!!%#!!!!X !!#AL !!!1& !!+u{!!!!) " + "lang=aa|ay|bi|br|ch|co|da|de|en|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|ia|id|ie|io|is|it|lb|mg|nb|nds|nl|nn|no|nr|nso|oc|om|pt|rm|sma|smj|so|sq|ss|st|sv|sw|tl|tn|tr|ts|uz|vo|vot|wa|xh|yap|zu|an|crh|fil|ht|jv|kj|ku-tr|kwm|li|ms|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|za" + "fontversion=131072" + "fontformat=TrueType" + "embolden=False" + "embeddedbitmap=True" + "decorative=False" + "lcdfilter=1" + "namelang=en" + "prgname=xemacs" + "hash=sha256\\:da4281dc7db17a3dfce64a62ced92875c5895340055ec8ba24a3914eb97b349d" + "postscriptname=BitstreamVeraSansMono-Roman")) + (test-name-degenerate "") + (test-name-trivial (nth 0 test-name-parts)) + (test-name-short + (concat (nth 0 test-name-parts) ":" (nth 26 test-name-parts))) + (test-name-long (mapconcat #'identity + (append (subseq test-name-parts 0 26) + (subseq test-name-parts 27)) + ":")) + (test-name-full (mapconcat #'identity test-name-parts ":")) + ) + (labels ((try (fontname) + (fc-name-unparse (fc-name-parse fontname))) + (try-harder (fontname) + (fc-name-unparse (fc-name-parse-harder fontname)))) + (Assert (string= test-name-degenerate (try test-name-degenerate))) + (Assert (string= test-name-degenerate (try-harder test-name-degenerate))) + (Assert (string= test-name-trivial (try test-name-trivial))) + (Assert (string= test-name-trivial (try-harder test-name-trivial))) + ;; Note when the `try' form fails, the `try-harder' form returns a + ;; shorter name. + (Check-Error 'invalid-argument + (string= test-name-short (try test-name-short))) + (Assert (string= test-name-trivial (try-harder test-name-short))) + (Assert (string= test-name-long (try test-name-long))) + (Assert (string= test-name-long (try-harder test-name-long))) + ;; Note when the `try' form fails, the `try-harder' form returns a + ;; shorter name. + (Check-Error 'invalid-argument + (string= test-name-full (try test-name-full))) + (Assert (string= test-name-long (try-harder test-name-full))) + ) ; labels + ) ; let + +;;; end face-tests.el