| """Test that the Objective-C syntax for dictionary/array literals and indexing works""" | |
| import lldb | |
| from lldbsuite.test.decorators import * | |
| from lldbsuite.test.lldbtest import * | |
| from lldbsuite.test import lldbutil | |
| from ObjCNewSyntaxTest import ObjCNewSyntaxTest | |
| class ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest): | |
| @skipIf(macos_version=["<", "10.12"]) | |
| @expectedFailureAll(archs=["i[3-6]86"]) | |
| def test_read_dictionary(self): | |
| self.runToBreakpoint() | |
| self.expect( | |
| 'expr --object-description -- immutable_dictionary[@"key"]', | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["value"], | |
| ) | |
| self.expect( | |
| 'expr --object-description -- mutable_dictionary[@"key"]', | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["value"], | |
| ) | |
| @skipIf(macos_version=["<", "10.12"]) | |
| @expectedFailureAll(archs=["i[3-6]86"]) | |
| def test_update_dictionary(self): | |
| self.runToBreakpoint() | |
| self.expect( | |
| 'expr --object-description -- mutable_dictionary[@"key"] = @"object"', | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["object"], | |
| ) | |
| self.expect( | |
| 'expr --object-description -- mutable_dictionary[@"key"]', | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["object"], | |
| ) | |
| @skipIf(macos_version=["<", "10.12"]) | |
| @expectedFailureAll(archs=["i[3-6]86"]) | |
| def test_dictionary_literal(self): | |
| self.runToBreakpoint() | |
| self.expect( | |
| 'expr --object-description -- @{ @"key" : @"object" }', | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["key", "object"], | |
| ) |