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