57 lines · python
1"""Test that the Objective-C syntax for dictionary/array literals and indexing works"""2 3 4import lldb5from lldbsuite.test.decorators import *6from lldbsuite.test.lldbtest import *7from lldbsuite.test import lldbutil8 9from ObjCNewSyntaxTest import ObjCNewSyntaxTest10 11 12class ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest):13 @skipIf(macos_version=["<", "10.12"])14 @expectedFailureAll(archs=["i[3-6]86"])15 def test_read_dictionary(self):16 self.runToBreakpoint()17 18 self.expect(19 'expr --object-description -- immutable_dictionary[@"key"]',20 VARIABLES_DISPLAYED_CORRECTLY,21 substrs=["value"],22 )23 24 self.expect(25 'expr --object-description -- mutable_dictionary[@"key"]',26 VARIABLES_DISPLAYED_CORRECTLY,27 substrs=["value"],28 )29 30 @skipIf(macos_version=["<", "10.12"])31 @expectedFailureAll(archs=["i[3-6]86"])32 def test_update_dictionary(self):33 self.runToBreakpoint()34 35 self.expect(36 'expr --object-description -- mutable_dictionary[@"key"] = @"object"',37 VARIABLES_DISPLAYED_CORRECTLY,38 substrs=["object"],39 )40 41 self.expect(42 'expr --object-description -- mutable_dictionary[@"key"]',43 VARIABLES_DISPLAYED_CORRECTLY,44 substrs=["object"],45 )46 47 @skipIf(macos_version=["<", "10.12"])48 @expectedFailureAll(archs=["i[3-6]86"])49 def test_dictionary_literal(self):50 self.runToBreakpoint()51 52 self.expect(53 'expr --object-description -- @{ @"key" : @"object" }',54 VARIABLES_DISPLAYED_CORRECTLY,55 substrs=["key", "object"],56 )57