199451b44SJordan Rupprecht"""Test that the Objective-C syntax for dictionary/array literals and indexing works""" 299451b44SJordan Rupprecht 399451b44SJordan Rupprecht 499451b44SJordan Rupprechtimport lldb 599451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 699451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 799451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 899451b44SJordan Rupprecht 999451b44SJordan Rupprechtfrom ObjCNewSyntaxTest import ObjCNewSyntaxTest 1099451b44SJordan Rupprecht 1199451b44SJordan Rupprecht 1299451b44SJordan Rupprechtclass ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest): 1399451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 1499451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 1599451b44SJordan Rupprecht def test_read_dictionary(self): 1699451b44SJordan Rupprecht self.runToBreakpoint() 1799451b44SJordan Rupprecht 1899451b44SJordan Rupprecht self.expect( 19*2238dcc3SJonas Devlieghere 'expr --object-description -- immutable_dictionary[@"key"]', 2099451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 21*2238dcc3SJonas Devlieghere substrs=["value"], 22*2238dcc3SJonas Devlieghere ) 2399451b44SJordan Rupprecht 2499451b44SJordan Rupprecht self.expect( 25*2238dcc3SJonas Devlieghere 'expr --object-description -- mutable_dictionary[@"key"]', 2699451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 27*2238dcc3SJonas Devlieghere substrs=["value"], 28*2238dcc3SJonas Devlieghere ) 2999451b44SJordan Rupprecht 3099451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 3199451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 3299451b44SJordan Rupprecht def test_update_dictionary(self): 3399451b44SJordan Rupprecht self.runToBreakpoint() 3499451b44SJordan Rupprecht 3599451b44SJordan Rupprecht self.expect( 36*2238dcc3SJonas Devlieghere 'expr --object-description -- mutable_dictionary[@"key"] = @"object"', 3799451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 38*2238dcc3SJonas Devlieghere substrs=["object"], 39*2238dcc3SJonas Devlieghere ) 4099451b44SJordan Rupprecht 4199451b44SJordan Rupprecht self.expect( 42*2238dcc3SJonas Devlieghere 'expr --object-description -- mutable_dictionary[@"key"]', 4399451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 44*2238dcc3SJonas Devlieghere substrs=["object"], 45*2238dcc3SJonas Devlieghere ) 4699451b44SJordan Rupprecht 4799451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 4899451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 4999451b44SJordan Rupprecht def test_dictionary_literal(self): 5099451b44SJordan Rupprecht self.runToBreakpoint() 5199451b44SJordan Rupprecht 5299451b44SJordan Rupprecht self.expect( 53*2238dcc3SJonas Devlieghere 'expr --object-description -- @{ @"key" : @"object" }', 5499451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 55*2238dcc3SJonas Devlieghere substrs=["key", "object"], 56*2238dcc3SJonas Devlieghere ) 57