gplugin/gplugin

Add more ranged settings to test plugin

15 months ago, Elliott Sales de Andrade
ec766bf5a520
Parents e425162a4e4e
Children c5dab25b756b
Add more ranged settings to test plugin

Ranges are allowed to be any integral type or a double, and `GVariant` doesn't
allow accessing an integer from a differently-sized integer, so we need tests
for all versions.

Testing Done:
Opened plugin viewer and confirmed that all settings were added.

Reviewed at https://reviews.imfreedom.org/r/2152/
--- a/gplugin/tests/plugins/settings/im.pidgin.GPlugin.plugin.SettingsPlugin.gschema.xml Fri Dec 23 00:26:49 2022 -0600
+++ b/gplugin/tests/plugins/settings/im.pidgin.GPlugin.plugin.SettingsPlugin.gschema.xml Wed Dec 28 23:50:01 2022 -0600
@@ -30,15 +30,6 @@
</description>
</key>
- <key name="range" type="i">
- <default>5</default>
- <range min="2" max="10"/>
- <summary>Range setting</summary>
- <description>
- A setting that is a 32-bit signed integer with a limited range.
- </description>
- </key>
-
<!-- Basic types -->
<key name="boolean" type="b">
<default>true</default>
@@ -65,11 +56,11 @@
</key>
<!-- All integral basic types -->
- <key name="char" type="y">
+ <key name="uint8" type="y">
<default>123</default>
- <summary>Char setting</summary>
+ <summary>UInt8 setting</summary>
<description>
- A setting that is an unsigned character.
+ A setting that is an 8-bit unsigned integer.
</description>
</key>
@@ -120,5 +111,79 @@
A setting that is a 64-bit unsigned integer.
</description>
</key>
+
+ <!-- Ranged versions of basic numeric types -->
+ <key name="double-range" type="d">
+ <default>0.5</default>
+ <range min="0.2" max="1.0"/>
+ <summary>Ranged double setting</summary>
+ <description>
+ A setting that is a 64-bit floating-point number with a limited range.
+ </description>
+ </key>
+
+ <key name="uint8-range" type="y">
+ <default>12</default>
+ <range min="2" max="32"/>
+ <summary>Ranged UInt8 setting</summary>
+ <description>
+ A setting that is an 8-bit unsigned integer with a limited range.
+ </description>
+ </key>
+
+ <key name="int16-range" type="n">
+ <default>-290</default>
+ <range min="-300" max="-256"/>
+ <summary>Ranged Int16 setting</summary>
+ <description>
+ A setting that is a 16-bit signed integer with a limited range.
+ </description>
+ </key>
+
+ <key name="uint16-range" type="q">
+ <default>16390</default>
+ <range min="16384" max="16400"/>
+ <summary>Ranged UInt16 setting</summary>
+ <description>
+ A setting that is a 16-bit unsigned integer with a limited range.
+ </description>
+ </key>
+
+ <key name="int32-range" type="i">
+ <default>-65572</default>
+ <range min="-65600" max="-65536"/>
+ <summary>Int32 setting</summary>
+ <description>
+ A setting that is a 32-bit signed integer with a limited range.
+ </description>
+ </key>
+
+ <key name="uint32-range" type="u">
+ <default>2147483686</default>
+ <range min="2147483649" max="2147483700"/>
+ <summary>UInt32 setting</summary>
+ <description>
+ A setting that is a 32-bit unsigned integer with a limited range.
+ </description>
+ </key>
+
+ <key name="int64-range" type="x">
+ <default>-2147483686</default>
+ <range min="-2147483700" max="-2147483649"/>
+ <summary>Int64 setting</summary>
+ <description>
+ A setting that is a 64-bit signed integer with a limited range.
+ </description>
+ </key>
+
+ <key name="uint64-range" type="t">
+ <default>9223372036854775848</default>
+ <range min="9223372036854775808" max="9223372036854775900"/>
+ <summary>UInt64 setting</summary>
+ <description>
+ A setting that is a 64-bit unsigned integer with a limited range.
+ </description>
+ </key>
+
</schema>
</schemalist>