| """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.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.expect( |
| "expr --object-description -- @( 1 + 3 )", |
| VARIABLES_DISPLAYED_CORRECTLY, |
| substrs=["4"]) |
| self.expect( |
| "expr -- @((char*)\"Hello world\" + 6)", |
| VARIABLES_DISPLAYED_CORRECTLY, |
| substrs=[ |
| "NSString", |
| "world"]) |