mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-22 20:26:17 +01:00
GSettings: enum/choices/aliases/range test cases
Fix a small bug that one of the tests uncovered.
This commit is contained in:
parent
be8f938b63
commit
fc538894d3
@ -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;
|
||||
}
|
||||
@ -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 */
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
|
@ -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
gio/tests/.gitignore
vendored
1
gio/tests/.gitignore
vendored
@ -58,3 +58,4 @@ test.mo
|
||||
unix-fd
|
||||
unix-streams
|
||||
utf8-input-streamgdbus-addresses
|
||||
org.gtk.test.enums.xml
|
||||
|
@ -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
|
||||
|
14
gio/tests/schema-tests/bad-choice.gschema.xml
Normal file
14
gio/tests/schema-tests/bad-choice.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/bare-alias.gschema.xml
Normal file
7
gio/tests/schema-tests/bare-alias.gschema.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='s'>
|
||||
<aliases/>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
15
gio/tests/schema-tests/choice-alias.gschema.xml
Normal file
15
gio/tests/schema-tests/choice-alias.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/choice-bad.gschema.xml
Normal file
14
gio/tests/schema-tests/choice-bad.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/choice-badtype.gschema.xml
Normal file
7
gio/tests/schema-tests/choice-badtype.gschema.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='i'>
|
||||
<choices/>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
15
gio/tests/schema-tests/choice-invalid-alias.gschema.xml
Normal file
15
gio/tests/schema-tests/choice-invalid-alias.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/choice-shadowed-alias.gschema.xml
Normal file
14
gio/tests/schema-tests/choice-shadowed-alias.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/choice-upside-down.gschema.xml
Normal file
14
gio/tests/schema-tests/choice-upside-down.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/choice.gschema.xml
Normal file
14
gio/tests/schema-tests/choice.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/default-in-aliases.gschema.xml
Normal file
15
gio/tests/schema-tests/default-in-aliases.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum-with-aliases.gschema.xml
Normal file
20
gio/tests/schema-tests/enum-with-aliases.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum-with-bad-default.gschema.xml
Normal file
16
gio/tests/schema-tests/enum-with-bad-default.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum-with-chained-alias.gschema.xml
Normal file
21
gio/tests/schema-tests/enum-with-chained-alias.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum-with-choice.gschema.xml
Normal file
17
gio/tests/schema-tests/enum-with-choice.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum-with-invalid-alias.gschema.xml
Normal file
20
gio/tests/schema-tests/enum-with-invalid-alias.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum-with-repeated-alias.gschema.xml
Normal file
21
gio/tests/schema-tests/enum-with-repeated-alias.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum-with-shadow-alias.gschema.xml
Normal file
20
gio/tests/schema-tests/enum-with-shadow-alias.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/enum.gschema.xml
Normal file
16
gio/tests/schema-tests/enum.gschema.xml
Normal file
@ -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
gio/tests/schema-tests/range-badtype.gschema.xml
Normal file
7
gio/tests/schema-tests/range-badtype.gschema.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='s'>
|
||||
<range min='22' max='27'/>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
8
gio/tests/schema-tests/range-default-high.gschema.xml
Normal file
8
gio/tests/schema-tests/range-default-high.gschema.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='i'>
|
||||
<default>28</default>
|
||||
<range min='22' max='27'/>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
8
gio/tests/schema-tests/range-default-low.gschema.xml
Normal file
8
gio/tests/schema-tests/range-default-low.gschema.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='i'>
|
||||
<default>21</default>
|
||||
<range min='22' max='27'/>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
8
gio/tests/schema-tests/range-high-default.gschema.xml
Normal file
8
gio/tests/schema-tests/range-high-default.gschema.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='i'>
|
||||
<range min='22' max='27'/>
|
||||
<default>28</default>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
8
gio/tests/schema-tests/range-low-default.gschema.xml
Normal file
8
gio/tests/schema-tests/range-low-default.gschema.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='i'>
|
||||
<range min='22' max='27'/>
|
||||
<default>21</default>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
8
gio/tests/schema-tests/range-parse-error.gschema.xml
Normal file
8
gio/tests/schema-tests/range-parse-error.gschema.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='i'>
|
||||
<range min='22.5' max='27'/>
|
||||
<default>25</default>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
8
gio/tests/schema-tests/range.gschema.xml
Normal file
8
gio/tests/schema-tests/range.gschema.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<schemalist>
|
||||
<schema id='org.gtk.test.schema'>
|
||||
<key name='test' type='i'>
|
||||
<range min='22' max='27'/>
|
||||
<default>25</default>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
Loading…
Reference in New Issue
Block a user