GSettings: enum/choices/aliases/range test cases

Fix a small bug that one of the tests uncovered.
This commit is contained in:
Ryan Lortie
2010-06-17 00:03:44 -04:00
parent be8f938b63
commit fc538894d3
29 changed files with 368 additions and 7 deletions

View File

@@ -58,3 +58,4 @@ test.mo
unix-fd
unix-streams
utf8-input-streamgdbus-addresses
org.gtk.test.enums.xml

View File

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

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

View File

@@ -0,0 +1,7 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='s'>
<aliases/>
</key>
</schema>
</schemalist>

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

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

View File

@@ -0,0 +1,7 @@
<schemalist>
<schema id='org.gtk.test.schema'>
<key name='test' type='i'>
<choices/>
</key>
</schema>
</schemalist>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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