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 ObjCNewSyntaxTestCaseLiteral(ObjCNewSyntaxTest): 1399451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 1499451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 1599451b44SJordan Rupprecht def test_char_literal(self): 1699451b44SJordan Rupprecht self.runToBreakpoint() 1799451b44SJordan Rupprecht 18*2238dcc3SJonas Devlieghere self.expect( 19*2238dcc3SJonas Devlieghere "expr --object-description -- @'a'", 20*2238dcc3SJonas Devlieghere VARIABLES_DISPLAYED_CORRECTLY, 21*2238dcc3SJonas Devlieghere substrs=[str(ord("a"))], 22*2238dcc3SJonas Devlieghere ) 2399451b44SJordan Rupprecht 2499451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 2599451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 2699451b44SJordan Rupprecht def test_integer_literals(self): 2799451b44SJordan Rupprecht self.runToBreakpoint() 2899451b44SJordan Rupprecht 2999451b44SJordan Rupprecht self.expect( 3099451b44SJordan Rupprecht "expr --object-description -- @1", 3199451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 32*2238dcc3SJonas Devlieghere substrs=["1"], 33*2238dcc3SJonas Devlieghere ) 3499451b44SJordan Rupprecht 3599451b44SJordan Rupprecht self.expect( 3699451b44SJordan Rupprecht "expr --object-description -- @1l", 3799451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 38*2238dcc3SJonas Devlieghere substrs=["1"], 39*2238dcc3SJonas Devlieghere ) 4099451b44SJordan Rupprecht 4199451b44SJordan Rupprecht self.expect( 4299451b44SJordan Rupprecht "expr --object-description -- @1ul", 4399451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 44*2238dcc3SJonas Devlieghere substrs=["1"], 45*2238dcc3SJonas Devlieghere ) 4699451b44SJordan Rupprecht 4799451b44SJordan Rupprecht self.expect( 4899451b44SJordan Rupprecht "expr --object-description -- @1ll", 4999451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 50*2238dcc3SJonas Devlieghere substrs=["1"], 51*2238dcc3SJonas Devlieghere ) 5299451b44SJordan Rupprecht 5399451b44SJordan Rupprecht self.expect( 5499451b44SJordan Rupprecht "expr --object-description -- @1ull", 5599451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 56*2238dcc3SJonas Devlieghere substrs=["1"], 57*2238dcc3SJonas Devlieghere ) 5899451b44SJordan Rupprecht 5999451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 6099451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 6199451b44SJordan Rupprecht def test_float_literal(self): 6299451b44SJordan Rupprecht self.runToBreakpoint() 6399451b44SJordan Rupprecht 64c21dfa9eSDave Lee self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values") 65c21dfa9eSDave Lee 66*2238dcc3SJonas Devlieghere self.expect( 67*2238dcc3SJonas Devlieghere "expr -- @123.45", 68*2238dcc3SJonas Devlieghere VARIABLES_DISPLAYED_CORRECTLY, 69*2238dcc3SJonas Devlieghere substrs=["NSNumber", "123.45"], 70*2238dcc3SJonas Devlieghere ) 7199451b44SJordan Rupprecht 7299451b44SJordan Rupprecht @skipIf(macos_version=["<", "10.12"]) 7399451b44SJordan Rupprecht @expectedFailureAll(archs=["i[3-6]86"]) 7499451b44SJordan Rupprecht def test_expressions_in_literals(self): 7599451b44SJordan Rupprecht self.runToBreakpoint() 7699451b44SJordan Rupprecht 77c21dfa9eSDave Lee self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values") 78c21dfa9eSDave Lee 7999451b44SJordan Rupprecht self.expect( 8099451b44SJordan Rupprecht "expr --object-description -- @( 1 + 3 )", 8199451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 82*2238dcc3SJonas Devlieghere substrs=["4"], 83*2238dcc3SJonas Devlieghere ) 8499451b44SJordan Rupprecht self.expect( 85*2238dcc3SJonas Devlieghere 'expr -- @((char*)"Hello world" + 6)', 8699451b44SJordan Rupprecht VARIABLES_DISPLAYED_CORRECTLY, 87*2238dcc3SJonas Devlieghere substrs=["NSString", "world"], 88*2238dcc3SJonas Devlieghere ) 89