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    def test_nsdata_with_run_command(self):
18        """Test formatters for  NSData."""
19        self.appkit_tester_impl(self.nsdata_data_formatter_commands)
20
21    def nsdata_data_formatter_commands(self):
22        self.expect(
23            'frame variable immutableData mutableData data_ref mutable_data_ref mutable_string_ref concreteData concreteMutableData',
24            substrs=[
25                '(NSData *) immutableData = ', ' 5 bytes',
26                '(NSData *) mutableData = ', ' 14 bytes',
27                '(CFDataRef) data_ref = ', '@"5 bytes"',
28                '(CFMutableDataRef) mutable_data_ref = ', '@"5 bytes"',
29                '(CFMutableStringRef) mutable_string_ref = ',
30                ' @"Wish ya knew"', '(NSData *) concreteData = ',
31                ' 100000 bytes', '(NSMutableData *) concreteMutableData = ',
32                ' 100000 bytes'
33            ])
34