bolt/deps/llvm-18.1.8/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py
2025-02-14 19:21:04 +01:00

56 lines
1.7 KiB
Python

"""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 ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest):
@skipIf(macos_version=["<", "10.12"])
@expectedFailureAll(archs=["i[3-6]86"])
def test_read_dictionary(self):
self.runToBreakpoint()
self.expect(
'expr --object-description -- immutable_dictionary[@"key"]',
VARIABLES_DISPLAYED_CORRECTLY,
substrs=["value"],
)
self.expect(
'expr --object-description -- mutable_dictionary[@"key"]',
VARIABLES_DISPLAYED_CORRECTLY,
substrs=["value"],
)
@skipIf(macos_version=["<", "10.12"])
@expectedFailureAll(archs=["i[3-6]86"])
def test_update_dictionary(self):
self.runToBreakpoint()
self.expect(
'expr --object-description -- mutable_dictionary[@"key"] = @"object"',
VARIABLES_DISPLAYED_CORRECTLY,
substrs=["object"],
)
self.expect(
'expr --object-description -- mutable_dictionary[@"key"]',
VARIABLES_DISPLAYED_CORRECTLY,
substrs=["object"],
)
@skipIf(macos_version=["<", "10.12"])
@expectedFailureAll(archs=["i[3-6]86"])
def test_dictionary_literal(self):
self.runToBreakpoint()
self.expect(
'expr --object-description -- @{ @"key" : @"object" }',
VARIABLES_DISPLAYED_CORRECTLY,
substrs=["key", "object"],
)