1"""
2Test more expression command sequences with objective-c.
3"""
4
5
6
7import lldb
8from lldbsuite.test.decorators import *
9from lldbsuite.test.lldbtest import *
10from lldbsuite.test import lldbutil
11
12
13@skipUnlessDarwin
14class FoundationTestCaseNSArray(TestBase):
15
16    mydir = TestBase.compute_mydir(__file__)
17
18    def test_NSArray_expr_commands(self):
19        """Test expression commands for NSArray."""
20        self.build()
21        self.target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
22                self, '// Break here for NSArray tests',
23                lldb.SBFileSpec('main.m', False))
24
25        self.runCmd("thread backtrace")
26        self.expect("expression (int)[nil_mutable_array count]",
27                    patterns=["\(int\) \$.* = 0"])
28        self.expect("expression (int)[array1 count]",
29                    patterns=["\(int\) \$.* = 3"])
30        self.expect("expression (int)[array2 count]",
31                    patterns=["\(int\) \$.* = 3"])
32        self.expect("expression (int)array1.count",
33                    patterns=["\(int\) \$.* = 3"])
34        self.expect("expression (int)array2.count",
35                    patterns=["\(int\) \$.* = 3"])
36        self.runCmd("process continue")
37