diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.am | 11 | ||||
-rw-r--r-- | test/run-test-conf.sh | 36 | ||||
-rw-r--r-- | test/test-90-synthetic.json | 68 |
3 files changed, 112 insertions, 3 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index 117ba01f..48ec3ce3 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -13,7 +13,12 @@ BUILT_SOURCES = $(builddir)/out.expected SH_LOG_COMPILER = sh TESTS=run-test.sh -TESTDATA=4x6.pcf 8x16.pcf fonts.conf.in +TESTDATA = \ + 4x6.pcf \ + 8x16.pcf \ + fonts.conf.in \ + test-90-synthetic.json \ + $(NULL) if FREETYPE_PCF_LONG_FAMILY_NAMES $(builddir)/out.expected: $(srcdir)/out.expected-long-family-names Makefile @@ -63,10 +68,10 @@ if ENABLE_JSONC check_PROGRAMS += test-conf test_conf_CFLAGS = $(JSONC_CFLAGS) test_conf_LDADD = $(top_builddir)/src/libfontconfig.la $(JSONC_LIBS) -TESTS += test-conf.sh +TESTS += run-test-conf.sh endif -EXTRA_DIST=run-test.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names +EXTRA_DIST=run-test.sh run-test-conf.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names CLEANFILES=out fonts.conf out.expected diff --git a/test/run-test-conf.sh b/test/run-test-conf.sh new file mode 100644 index 00000000..4bcc29cd --- /dev/null +++ b/test/run-test-conf.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# test/run-test-conf.sh +# +# Copyright © 2000 Keith Packard +# Copyright © 2018 Akira TAGOH +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of the author(s) not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. The authors make no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR +# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. +set -eu + +case "$OSTYPE" in + msys ) MyPWD=`pwd -W` ;; # On Msys/MinGW, returns a MS Windows style path. + * ) MyPWD=`pwd` ;; # On any other platforms, returns a Unix style path. +esac + +TESTDIR=${srcdir-"$MyPWD"} +BUILDTESTDIR=${builddir-"$MyPWD"} + +RUNNER=../test/test-conf$EXEEXT + +$RUNNER $TESTDIR/../conf.d/90-synthetic.conf $TESTDIR/test-90-synthetic.json diff --git a/test/test-90-synthetic.json b/test/test-90-synthetic.json new file mode 100644 index 00000000..42054024 --- /dev/null +++ b/test/test-90-synthetic.json @@ -0,0 +1,68 @@ +{ + "fonts": [ + { + "family": "Foo", + "style": "Medium", + "weight": 100 + }, + { + "family": "Bar", + "style": "Regular", + "weight": 80 + }, + { + "family": "Baz", + "style": "Bold", + "weight": 200 + } + ], + "tests": [ + { + "method": "match", + "query": { + "family": "Foo", + "weight": 200 + }, + "result": { + "family": "Foo", + "weight": 200, + "embolden": true + } + }, + { + "method": "match", + "query": { + "family": "Bar", + "weight": 102 + }, + "result": { + "family": "Bar", + "weight": 80 + } + }, + { + "method": "match", + "query": { + "family": "Bar", + "weight": 200 + }, + "result": { + "family": "Bar", + "weight": 200, + "embolden": true + } + }, + { + "method": "match", + "query": { + "family": "Baz", + "weight": 200 + }, + "result": { + "family": "Baz", + "weight": 200, + "embolden": null + } + } + ] +} |