diff options
author | Martin Pitt <martinpitt@gnome.org> | 2013-09-03 09:21:12 +0200 |
---|---|---|
committer | Martin Pitt <martinpitt@gnome.org> | 2013-09-03 09:21:12 +0200 |
commit | d070b4b83bd2efb47ce778bd54ff5d44be61cd8f (patch) | |
tree | 7399c973d814cc03222155d33956408bbab3dca3 | |
parent | 578ad1e09b28a7bcbb51034f1f117ac16c792c96 (diff) |
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".
-rwxr-xr-x | src/linux/integration-test | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/linux/integration-test b/src/linux/integration-test index e3cf290..a7b62c1 100755 --- a/src/linux/integration-test +++ b/src/linux/integration-test @@ -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 # |