mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-01-02 07:20:21 +01:00
Linux integration tests: add test for vendor/product/serial strings
This exercises the non-ASCII character filtering and the three cases "valid ASCII", "valid UTF-8", and "invalid/unprintable ASCII".
This commit is contained in:
parent
578ad1e09b
commit
d070b4b83b
1 changed files with 31 additions and 0 deletions
|
|
@ -536,6 +536,37 @@ class Tests(unittest.TestCase):
|
|||
self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
|
||||
self.stop_daemon()
|
||||
|
||||
def test_vendor_strings(self):
|
||||
'''manufacturer/model_name/serial_number with valid and invalid strings'''
|
||||
|
||||
bat0 = self.testbed.add_device('power_supply', 'BAT0', None,
|
||||
['type', 'Battery',
|
||||
'present', '1',
|
||||
'status', 'Discharging',
|
||||
'energy_full', '60000000',
|
||||
'energy_full_design', '80000000',
|
||||
'energy_now', '1500000',
|
||||
'voltage_now', '12000000',
|
||||
# valid ASCII string
|
||||
'serial_number', '123ABC',
|
||||
# valid UTF-8 string
|
||||
'manufacturer', '⍾ Batt Inc. ☢',
|
||||
], [])
|
||||
|
||||
# string with invalid chars
|
||||
self.testbed.set_attribute_binary(bat0, 'model_name', b'AB\xFFC12\x013')
|
||||
|
||||
self.start_daemon()
|
||||
devs = self.proxy.EnumerateDevices()
|
||||
self.assertEqual(len(devs), 1)
|
||||
bat0_up = devs[0]
|
||||
|
||||
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Serial'), '123ABC')
|
||||
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Vendor'), ' Batt Inc. ')
|
||||
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Model'), 'ABC123')
|
||||
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 1.5)
|
||||
self.stop_daemon()
|
||||
|
||||
#
|
||||
# Helper methods
|
||||
#
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue