Add testcases for <range> and <choices>

Bug #616102.
This commit is contained in:
Christian Persch 2010-04-25 20:07:26 -05:00 committed by Ryan Lortie
parent 22ce6ed82d
commit 6f7fb3744b
10 changed files with 127 additions and 33 deletions

View File

@ -150,23 +150,37 @@ gsettings_LDADD = $(progs_ldadd)
gschema_compile_SOURCES = gschema-compile.c
gschema_compile_LDADD = $(progs_ldadd)
EXTRA_DIST += \
socket-common.c \
org.gtk.test.gschema \
org.gtk.test.gschema.xml \
de.po \
schema-tests/bad-type.gschema.xml \
schema-tests/incomplete-list.gschema.xml \
schema-tests/missing-quotes.gschema.xml \
schema-tests/no-default.gschema.xml \
schema-tests/wrong-category.gschema.xml \
schema-tests/overflow.gschema.xml \
schema-tests/bad-key.gschema.xml \
schema-tests/bad-key2.gschema.xml \
schema-tests/bad-key3.gschema.xml \
schema-tests/bad-key4.gschema.xml \
schema-tests/empty-key.gschema.xml
EXTRA_DIST += \
socket-common.c \
org.gtk.test.gschema \
org.gtk.test.gschema.xml \
de.po \
schema-tests/bad-type.gschema.xml \
schema-tests/incomplete-list.gschema.xml \
schema-tests/missing-quotes.gschema.xml \
schema-tests/no-default.gschema.xml \
schema-tests/wrong-category.gschema.xml \
schema-tests/overflow.gschema.xml \
schema-tests/bad-key.gschema.xml \
schema-tests/bad-key2.gschema.xml \
schema-tests/bad-key3.gschema.xml \
schema-tests/bad-key4.gschema.xml \
schema-tests/empty-key.gschema.xml \
schema-tests/array-default-not-in-choices.gschema.xml \
schema-tests/bad-type.gschema.xml \
schema-tests/choice-missing-value.gschema.xml \
schema-tests/choices-wrong-type.gschema.xml \
schema-tests/default-not-in-choices.gschema.xml \
schema-tests/default-out-of-range.gschema.xml \
schema-tests/incomplete-list.gschema.xml \
schema-tests/missing-quotes.gschema.xml \
schema-tests/no-default.gschema.xml \
schema-tests/overflow.gschema.xml \
schema-tests/range-missing-max.gschema.xml \
schema-tests/range-missing-min.gschema.xml \
schema-tests/range-wrong-type.gschema.xml \
schema-tests/wrong-category.gschema.xml
MISC_STUFF = gschemas.compiled test.mo
test.mo: de.po

View File

@ -42,22 +42,30 @@ test_schema (gpointer data)
}
static const SchemaTest tests[] = {
{ "no-default", NULL, "*<default> is required in <key>*" },
{ "missing-quotes", NULL, "*unknown keyword*" },
{ "incomplete-list", NULL, "*to follow array element*" },
{ "wrong-category", NULL, "*attribute 'l10n' invalid*" },
{ "bad-type", NULL, "*invalid GVariant type string*" },
{ "overflow", NULL, "*out of range*" },
{ "bad-key", NULL, "*invalid name*" },
{ "bad-key", "--allow-any-name", NULL },
{ "bad-key2", NULL, "*invalid name*" },
{ "bad-key2", "--allow-any-name", NULL },
{ "bad-key3", NULL, "*invalid name*" },
{ "bad-key3", "--allow-any-name", NULL },
{ "bad-key4", NULL, "*invalid name*" },
{ "bad-key4", "--allow-any-name", NULL },
{ "empty-key", NULL, "*empty names*" },
{ "empty-key", "--allow-any-name", "*empty names*" },
{ "no-default", NULL, "*<default> is required in <key>*" },
{ "missing-quotes", NULL, "*unknown keyword*" },
{ "incomplete-list", NULL, "*to follow array element*" },
{ "wrong-category", NULL, "*attribute 'l10n' invalid*" },
{ "bad-type", NULL, "*invalid GVariant type string*" },
{ "overflow", NULL, "*out of range*" },
{ "range-wrong-type", NULL, "*<range> not allowed for keys of type*" },
{ "range-missing-min", NULL, "*element 'range' requires attribute 'min'*" },
{ "range-missing-max", NULL, "*element 'range' requires attribute 'max'*" },
{ "default-out-of-range", NULL, "*<default> is not contained in the specified range*" },
{ "choices-wrong-type", NULL, "*<choices> not allowed for keys of type*" },
{ "choice-missing-value", NULL, "*element 'choice' requires attribute 'value'*" },
{ "default-not-in-choices", NULL, "*<default> contains string not in <choices>*" },
{ "array-default-not-in-choices", NULL, "*<default> contains string not in <choices>*" },
{ "bad-key", NULL, "*invalid name*" },
{ "bad-key", "--allow-any-name", NULL },
{ "bad-key2", NULL, "*invalid name*" },
{ "bad-key2", "--allow-any-name", NULL },
{ "bad-key3", NULL, "*invalid name*" },
{ "bad-key3", "--allow-any-name", NULL },
{ "bad-key4", NULL, "*invalid name*" },
{ "bad-key4", "--allow-any-name", NULL },
{ "empty-key", NULL, "*empty names*" },
{ "empty-key", "--allow-any-name", "*empty names*" }
};
int

View File

@ -0,0 +1,11 @@
<schemalist>
<schema id="test">
<key name="test" type="as">
<choices>
<choice value="first" />
<choice value="last" />
</choices>
<default>["first","last","second"]</default>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,10 @@
<schemalist>
<schema id="test">
<key name="test" type="s">
<choices>
<choice />
</choices>
<default>"a"</default>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,8 @@
<schemalist>
<schema id="test">
<key name="test" type="(is)">
<choices />
<default>(1,"a")</default>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,11 @@
<schemalist>
<schema id="test">
<key name="test" type="s">
<choices>
<choice value="first" />
<choice value="last" />
</choices>
<default>"next-to-last"</default>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,8 @@
<schemalist>
<schema id="test">
<key name="test" type="i">
<range min="0" max="100" />
<default>-1</default>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,8 @@
<schemalist>
<schema id="test">
<key name="test" type="i">
<range min="100" />
<default>2</default>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,8 @@
<schemalist>
<schema id="test">
<key name="test" type="i">
<range max="100" />
<default>2</default>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,8 @@
<schemalist>
<schema id="test">
<key name="test" type="s">
<range min="a" max="z" />
<default>"a"</default>
</key>
</schema>
</schemalist>