Skip to content
This repository has been archived by the owner on Nov 17, 2020. It is now read-only.

Commit

Permalink
GSettings: enum/choices/aliases/range test cases
Browse files Browse the repository at this point in the history
Fix a small bug that one of the tests uncovered.
  • Loading branch information
allisonkarlitskaya committed Jun 17, 2010
1 parent be8f938 commit fc53889
Show file tree
Hide file tree
Showing 29 changed files with 368 additions and 7 deletions.
10 changes: 5 additions & 5 deletions gio/gschema-compile.c
Expand Up @@ -252,7 +252,7 @@ key_state_set_range (KeyState *state,
gchar *type = g_variant_type_dup_string (state->type);
g_set_error (error, G_MARKUP_ERROR,
G_MARKUP_ERROR_INVALID_CONTENT,
"<range> not allowed for keys of type \"%s\"\n", type);
"<range> not allowed for keys of type '%s'", type);
g_free (type);
return;
}
Expand Down Expand Up @@ -1034,11 +1034,11 @@ start_element (GMarkupParseContext *context,

if (container)
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
"Element <%s> not allowed inside <%s>\n",
"Element <%s> not allowed inside <%s>",
element_name, container);
else
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
"Element <%s> not allowed at toplevel\n", element_name);
"Element <%s> not allowed at toplevel", element_name);
}
/* 2}}} */
/* End element {{{2 */
Expand All @@ -1056,7 +1056,7 @@ key_state_end (KeyState **state_ptr,
{
g_set_error_literal (error,
G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
"element <default> is required in <key>\n");
"element <default> is required in <key>");
return;
}
}
Expand Down Expand Up @@ -1128,7 +1128,7 @@ text (GMarkupParseContext *context,

else
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
"text may not appear inside <%s>\n",
"text may not appear inside <%s>",
g_markup_parse_context_get_element (context));

break;
Expand Down
2 changes: 1 addition & 1 deletion gio/strinfo.c
Expand Up @@ -304,5 +304,5 @@ strinfo_builder_contains (GString *builder,
return strinfo_find_string ((const guint32 *) builder->str,
builder->len / 4, string, FALSE) != -1 ||
strinfo_find_string ((const guint32 *) builder->str,
builder->len / 4, string, FALSE) != -1;
builder->len / 4, string, TRUE) != -1;
}
1 change: 1 addition & 0 deletions gio/tests/.gitignore
Expand Up @@ -58,3 +58,4 @@ test.mo
unix-fd
unix-streams
utf8-input-streamgdbus-addresses
org.gtk.test.enums.xml
27 changes: 26 additions & 1 deletion gio/tests/gschema-compile.c
Expand Up @@ -66,7 +66,32 @@ static const SchemaTest tests[] = {
{ "bad-key4", NULL, "*invalid name*" },
{ "bad-key4", "--allow-any-name", NULL },
{ "empty-key", NULL, "*empty names*" },
{ "empty-key", "--allow-any-name", "*empty names*" }
{ "empty-key", "--allow-any-name", "*empty names*" },
{ "enum", NULL, NULL },
{ "enum-with-aliases", NULL, NULL },
{ "enum-with-invalid-alias", NULL, "*'banger' is not in enumerated type*" },
{ "enum-with-repeated-alias", NULL, "*<alias value='sausages'/> already specified*" },
{ "enum-with-chained-alias", NULL, "*'sausages' is not in enumerated type*" },
{ "enum-with-shadow-alias", NULL, "*'mash' is already a member of the enum*" },
{ "enum-with-choice", NULL, "*<choices> can not be specified*" },
{ "enum-with-bad-default", NULL, "*<default> is not a valid member*" },
{ "choice", NULL, NULL },
{ "choice-upside-down", NULL, NULL },
{ "bad-choice", NULL, "*<default> contains string not in <choices>*" },
{ "choice-bad", NULL, "*<default> contains string not in <choices>*" },
{ "choice-badtype", NULL, "*<choices> not allowed for keys of type 'i'*" },
{ "bare-alias", NULL, "*enumerated types or after <choices>*" },
{ "choice-alias", NULL, NULL },
{ "default-in-aliases", NULL, "*<default> contains string not in <choices>*" },
{ "choice-invalid-alias", NULL, "*'befor' is not in <choices>*" },
{ "choice-shadowed-alias", NULL, "*given when <choice value='before'/> was already*" },
{ "range", NULL, NULL },
{ "range-badtype", NULL, "*<range> not allowed for keys of type 's'*" },
{ "range-low-default", NULL, "*<default> is not contained in the specified range*" },
{ "range-high-default", NULL, "*<default> is not contained in the specified range*" },
{ "range-default-low", NULL, "*<default> is not contained in the specified range*" },
{ "range-default-high", NULL, "*<default> is not contained in the specified range*" },
{ "range-parse-error", NULL, "*invalid character in number*" }
};

int
Expand Down
14 changes: 14 additions & 0 deletions gio/tests/schema-tests/bad-choice.gschema.xml
@@ -0,0 +1,14 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<default>'how'</default>
<choices>
<choice value='who'/>
<choice value='what'/>
<choice value='where'/>
<choice value='when'/>
<choice value='why'/>
</choices>
</key>
</schema>
</schemalist>
7 changes: 7 additions & 0 deletions gio/tests/schema-tests/bare-alias.gschema.xml
@@ -0,0 +1,7 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<aliases/>
</key>
</schema>
</schemalist>
15 changes: 15 additions & 0 deletions gio/tests/schema-tests/choice-alias.gschema.xml
@@ -0,0 +1,15 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<choices>
<choice value='before'/>
<choice value='after'/>
</choices>
<aliases>
<alias value='pre' target='before'/>
<alias value='post' target='after'/>
</aliases>
<default>'after'</default>
</key>
</schema>
</schemalist>
14 changes: 14 additions & 0 deletions gio/tests/schema-tests/choice-bad.gschema.xml
@@ -0,0 +1,14 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<choices>
<choice value='who'/>
<choice value='what'/>
<choice value='where'/>
<choice value='when'/>
<choice value='why'/>
</choices>
<default>'how'</default>
</key>
</schema>
</schemalist>
7 changes: 7 additions & 0 deletions gio/tests/schema-tests/choice-badtype.gschema.xml
@@ -0,0 +1,7 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='i'>
<choices/>
</key>
</schema>
</schemalist>
15 changes: 15 additions & 0 deletions gio/tests/schema-tests/choice-invalid-alias.gschema.xml
@@ -0,0 +1,15 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<choices>
<choice value='before'/>
<choice value='after'/>
</choices>
<aliases>
<alias value='pre' target='befor'/>
<alias value='post' target='after'/>
</aliases>
<default>'after'</default>
</key>
</schema>
</schemalist>
14 changes: 14 additions & 0 deletions gio/tests/schema-tests/choice-shadowed-alias.gschema.xml
@@ -0,0 +1,14 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<choices>
<choice value='before'/>
<choice value='after'/>
</choices>
<aliases>
<alias value='before' target='after'/>
</aliases>
<default>'after'</default>
</key>
</schema>
</schemalist>
14 changes: 14 additions & 0 deletions gio/tests/schema-tests/choice-upside-down.gschema.xml
@@ -0,0 +1,14 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<choices>
<choice value='who'/>
<choice value='what'/>
<choice value='where'/>
<choice value='when'/>
<choice value='why'/>
</choices>
<default>'who'</default>
</key>
</schema>
</schemalist>
14 changes: 14 additions & 0 deletions gio/tests/schema-tests/choice.gschema.xml
@@ -0,0 +1,14 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<default>'who'</default>
<choices>
<choice value='who'/>
<choice value='what'/>
<choice value='where'/>
<choice value='when'/>
<choice value='why'/>
</choices>
</key>
</schema>
</schemalist>
15 changes: 15 additions & 0 deletions gio/tests/schema-tests/default-in-aliases.gschema.xml
@@ -0,0 +1,15 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<choices>
<choice value='before'/>
<choice value='after'/>
</choices>
<aliases>
<alias value='pre' target='before'/>
<alias value='post' target='after'/>
</aliases>
<default>'pre'</default>
</key>
</schema>
</schemalist>
20 changes: 20 additions & 0 deletions gio/tests/schema-tests/enum-with-aliases.gschema.xml
@@ -0,0 +1,20 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'spam'</default>

<aliases>
<alias value='sausages' target='bangers'/>
</aliases>
</key>
</schema>
</schemalist>
16 changes: 16 additions & 0 deletions gio/tests/schema-tests/enum-with-bad-default.gschema.xml
@@ -0,0 +1,16 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'nie'</default>
</key>
</schema>
</schemalist>
21 changes: 21 additions & 0 deletions gio/tests/schema-tests/enum-with-chained-alias.gschema.xml
@@ -0,0 +1,21 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'spam'</default>

<aliases>
<alias value='sausages' target='bangers'/>
<alias value='wurst' target='sausages'/>
</aliases>
</key>
</schema>
</schemalist>
17 changes: 17 additions & 0 deletions gio/tests/schema-tests/enum-with-choice.gschema.xml
@@ -0,0 +1,17 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'spam'</default>
<choices/>
</key>
</schema>
</schemalist>
20 changes: 20 additions & 0 deletions gio/tests/schema-tests/enum-with-invalid-alias.gschema.xml
@@ -0,0 +1,20 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'spam'</default>

<aliases>
<alias value='sausages' target='banger'/>
</aliases>
</key>
</schema>
</schemalist>
21 changes: 21 additions & 0 deletions gio/tests/schema-tests/enum-with-repeated-alias.gschema.xml
@@ -0,0 +1,21 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'spam'</default>

<aliases>
<alias value='sausages' target='bangers'/>
<alias value='sausages' target='mash'/>
</aliases>
</key>
</schema>
</schemalist>
20 changes: 20 additions & 0 deletions gio/tests/schema-tests/enum-with-shadow-alias.gschema.xml
@@ -0,0 +1,20 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'spam'</default>

<aliases>
<alias value='mash' target='bangers'/>
</aliases>
</key>
</schema>
</schemalist>
16 changes: 16 additions & 0 deletions gio/tests/schema-tests/enum.gschema.xml
@@ -0,0 +1,16 @@
<schemalist>
<enum id='org.gtk.test.MyEnum'>
<value nick='nospam' value='0'/>
<value nick='spam' value='1'/>
<value nick='ham' value='2'/>
<value nick='eggs' value='3'/>
<value nick='bangers' value='4'/>
<value nick='mash' value='5'/>
</enum>

<schema id='org.gtk.test.schema'>
<key name='test' enum='org.gtk.test.MyEnum'>
<default>'spam'</default>
</key>
</schema>
</schemalist>
7 changes: 7 additions & 0 deletions gio/tests/schema-tests/range-badtype.gschema.xml
@@ -0,0 +1,7 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<range min='22' max='27'/>
</key>
</schema>
</schemalist>

0 comments on commit fc53889

Please sign in to comment.