1*99451b44SJordan Rupprecht"""Test that the Objective-C syntax for dictionary/array literals and indexing works""" 2*99451b44SJordan Rupprecht 3*99451b44SJordan Rupprecht 4*99451b44SJordan Rupprechtimport lldb 5*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 6*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 7*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 8*99451b44SJordan Rupprecht 9*99451b44SJordan Rupprechtfrom ObjCNewSyntaxTest import ObjCNewSyntaxTest 10*99451b44SJordan Rupprecht 11*99451b44SJordan Rupprecht 12*99451b44SJordan Rupprechtclass ObjCNewSyntaxTestCaseArray(ObjCNewSyntaxTest): 13*99451b44SJordan Rupprecht 14*99451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 15*99451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 16*99451b44SJordan Rupprecht def test_read_array(self): 17*99451b44SJordan Rupprecht self.runToBreakpoint() 18*99451b44SJordan Rupprecht 19*99451b44SJordan Rupprecht self.expect( 20*99451b44SJordan Rupprecht "expr --object-description -- immutable_array[0]", 21*99451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 22*99451b44SJordan Rupprecht substrs=["foo"]) 23*99451b44SJordan Rupprecht 24*99451b44SJordan Rupprecht self.expect( 25*99451b44SJordan Rupprecht "expr --object-description -- mutable_array[0]", 26*99451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 27*99451b44SJordan Rupprecht substrs=["foo"]) 28*99451b44SJordan Rupprecht 29*99451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 30*99451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 31*99451b44SJordan Rupprecht def test_update_array(self): 32*99451b44SJordan Rupprecht self.runToBreakpoint() 33*99451b44SJordan Rupprecht 34*99451b44SJordan Rupprecht self.expect( 35*99451b44SJordan Rupprecht "expr --object-description -- mutable_array[0] = @\"bar\"", 36*99451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 37*99451b44SJordan Rupprecht substrs=["bar"]) 38*99451b44SJordan Rupprecht 39*99451b44SJordan Rupprecht self.expect( 40*99451b44SJordan Rupprecht "expr --object-description -- mutable_array[0]", 41*99451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 42*99451b44SJordan Rupprecht substrs=["bar"]) 43*99451b44SJordan Rupprecht 44*99451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 45*99451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 46*99451b44SJordan Rupprecht def test_array_literal(self): 47*99451b44SJordan Rupprecht self.runToBreakpoint() 48*99451b44SJordan Rupprecht 49*99451b44SJordan Rupprecht self.expect( 50*99451b44SJordan Rupprecht "expr --object-description -- @[ @\"foo\", @\"bar\" ]", 51*99451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 52*99451b44SJordan Rupprecht substrs=[ 53*99451b44SJordan Rupprecht "NSArray", 54*99451b44SJordan Rupprecht "foo", 55*99451b44SJordan Rupprecht "bar"]) 56