Add a test case for 90-synthetic.conf

This commit is contained in:
Akira TAGOH 2018-05-11 22:15:39 +09:00
parent f665852df9
commit af964f7897
3 changed files with 112 additions and 3 deletions

View File

@ -13,7 +13,12 @@ BUILT_SOURCES = $(builddir)/out.expected
SH_LOG_COMPILER = sh SH_LOG_COMPILER = sh
TESTS=run-test.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 if FREETYPE_PCF_LONG_FAMILY_NAMES
$(builddir)/out.expected: $(srcdir)/out.expected-long-family-names Makefile $(builddir)/out.expected: $(srcdir)/out.expected-long-family-names Makefile
@ -63,10 +68,10 @@ if ENABLE_JSONC
check_PROGRAMS += test-conf check_PROGRAMS += test-conf
test_conf_CFLAGS = $(JSONC_CFLAGS) test_conf_CFLAGS = $(JSONC_CFLAGS)
test_conf_LDADD = $(top_builddir)/src/libfontconfig.la $(JSONC_LIBS) test_conf_LDADD = $(top_builddir)/src/libfontconfig.la $(JSONC_LIBS)
TESTS += test-conf.sh TESTS += run-test-conf.sh
endif 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 CLEANFILES=out fonts.conf out.expected

36
test/run-test-conf.sh Normal file
View File

@ -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

View File

@ -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
}
}
]
}