| """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 ObjCNewSyntaxTestCaseLiteral(ObjCNewSyntaxTest): | |
| @skipIf(macos_version=["<", "10.12"]) | |
| @expectedFailureAll(archs=["i[3-6]86"]) | |
| def test_char_literal(self): | |
| self.runToBreakpoint() | |
| self.expect( | |
| "expr --object-description -- @'a'", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=[str(ord("a"))], | |
| ) | |
| @skipIf(macos_version=["<", "10.12"]) | |
| @expectedFailureAll(archs=["i[3-6]86"]) | |
| def test_integer_literals(self): | |
| self.runToBreakpoint() | |
| self.expect( | |
| "expr --object-description -- @1", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["1"], | |
| ) | |
| self.expect( | |
| "expr --object-description -- @1l", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["1"], | |
| ) | |
| self.expect( | |
| "expr --object-description -- @1ul", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["1"], | |
| ) | |
| self.expect( | |
| "expr --object-description -- @1ll", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["1"], | |
| ) | |
| self.expect( | |
| "expr --object-description -- @1ull", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["1"], | |
| ) | |
| @skipIf(macos_version=["<", "10.12"]) | |
| @expectedFailureAll(archs=["i[3-6]86"]) | |
| def test_float_literal(self): | |
| self.runToBreakpoint() | |
| self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values") | |
| self.expect( | |
| "expr -- @123.45", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["NSNumber", "123.45"], | |
| ) | |
| @skipIf(macos_version=["<", "10.12"]) | |
| @expectedFailureAll(archs=["i[3-6]86"]) | |
| def test_expressions_in_literals(self): | |
| self.runToBreakpoint() | |
| self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values") | |
| self.expect( | |
| "expr --object-description -- @( 1 + 3 )", | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["4"], | |
| ) | |
| self.expect( | |
| 'expr -- @((char*)"Hello world" + 6)', | |
| VARIABLES_DISPLAYED_CORRECTLY, | |
| substrs=["NSString", "world"], | |
| ) |