1# encoding: utf-8
2"""
3Test lldb data formatter subsystem.
4"""
5
6
7import lldb
8from lldbsuite.test.decorators import *
9from lldbsuite.test.lldbtest import *
10from lldbsuite.test import lldbutil
11
12from ObjCDataFormatterTestCase import ObjCDataFormatterTestCase
13
14
15class ObjCDataFormatterNSData(ObjCDataFormatterTestCase):
16
17    @skipUnlessDarwin
18    def test_nsdata_with_run_command(self):
19        """Test formatters for  NSData."""
20        self.appkit_tester_impl(self.nsdata_data_formatter_commands)
21
22    def nsdata_data_formatter_commands(self):
23        self.expect(
24            'frame variable immutableData mutableData data_ref mutable_data_ref mutable_string_ref concreteData concreteMutableData',
25            substrs=[
26                '(NSData *) immutableData = ', ' 5 bytes',
27                '(NSData *) mutableData = ', ' 14 bytes',
28                '(CFDataRef) data_ref = ', '@"5 bytes"',
29                '(CFMutableDataRef) mutable_data_ref = ', '@"5 bytes"',
30                '(CFMutableStringRef) mutable_string_ref = ',
31                ' @"Wish ya knew"', '(NSData *) concreteData = ',
32                ' 100000 bytes', '(NSMutableData *) concreteMutableData = ',
33                ' 100000 bytes'
34            ])
35