teak-llvm/lldb/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py
Jonas Devlieghere 9388c4703b [testsuite] Split Objective-C new syntax test
This splits the second longest test into separate test cases. Similar to
what we did for the Objective-C data formatters in r357786.

llvm-svn: 357824
2019-04-05 22:06:53 +00:00

59 lines
1.8 KiB
Python

"""Test that the Objective-C syntax for dictionary/array literals and indexing works"""
from __future__ import print_function
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
from ObjCNewSyntaxTest import ObjCNewSyntaxTest
class ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest):
@skipUnlessDarwin
@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"])
@skipUnlessDarwin
@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"])
@skipUnlessDarwin
@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"])