From 5b9c2e665690d1308851bde71fc15690b28b36a1 Mon Sep 17 00:00:00 2001 From: dokthar Date: Sat, 6 Jun 2020 17:02:19 +0200 Subject: [PATCH 1/2] emitters: fix for automatic language descriptors --- usb_protocol/emitters/descriptors/standard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usb_protocol/emitters/descriptors/standard.py b/usb_protocol/emitters/descriptors/standard.py index 6fa36b3..35051e7 100644 --- a/usb_protocol/emitters/descriptors/standard.py +++ b/usb_protocol/emitters/descriptors/standard.py @@ -264,7 +264,7 @@ class DeviceDescriptorCollection: # If we're not automatically adding a language descriptor, we shouldn't do anything, # and we'll just ignore this. - if not self._ensure_has_language_descriptor: + if not self._automatic_language_descriptor: return # If we don't have a language descriptor, add our default one. From a922fe07f9abd30d405ed91689c2a329734d00d7 Mon Sep 17 00:00:00 2001 From: dokthar Date: Sat, 6 Jun 2020 17:02:43 +0200 Subject: [PATCH 2/2] emitters: add test for automatic language descriptor --- usb_protocol/emitters/descriptors/standard.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/usb_protocol/emitters/descriptors/standard.py b/usb_protocol/emitters/descriptors/standard.py index 35051e7..af57886 100644 --- a/usb_protocol/emitters/descriptors/standard.py +++ b/usb_protocol/emitters/descriptors/standard.py @@ -401,5 +401,16 @@ class EmitterTests(unittest.TestCase): # Configuration descriptor, with subordinates. self.assertIn((2, 0, b'\t\x02 \x00\x01\x01\x00\x80\xfa\t\x04\x01\x00\x02\xff\xff\xff\x00\x07\x05\x81\x02@\x00\xff\x07\x05\x01\x02@\x00\xff'), results) + + def test_empty_descriptor_collection(self): + collection = DeviceDescriptorCollection(automatic_language_descriptor=False) + results = list(collection) + self.assertEqual(len(results), 0) + + def test_automatic_language_descriptor(self): + collection = DeviceDescriptorCollection(automatic_language_descriptor=True) + results = list(collection) + self.assertEqual(len(results), 1) + if __name__ == "__main__": unittest.main()