199451b44SJordan Rupprecht# encoding: utf-8
299451b44SJordan Rupprecht"""
399451b44SJordan RupprechtTest lldb data formatter subsystem.
499451b44SJordan Rupprecht"""
599451b44SJordan Rupprecht
699451b44SJordan Rupprecht
799451b44SJordan Rupprechtimport lldb
899451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
999451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
1099451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
1199451b44SJordan Rupprecht
1299451b44SJordan Rupprechtfrom ObjCDataFormatterTestCase import ObjCDataFormatterTestCase
1399451b44SJordan Rupprecht
1499451b44SJordan Rupprecht
1599451b44SJordan Rupprechtclass ObjCDataFormatterNSData(ObjCDataFormatterTestCase):
1699451b44SJordan Rupprecht
1799451b44SJordan Rupprecht    def test_nsdata_with_run_command(self):
1899451b44SJordan Rupprecht        """Test formatters for  NSData."""
19*9d5e95d0SJonas Devlieghere        self.appkit_tester_impl(self.nsdata_data_formatter_commands, True)
20*9d5e95d0SJonas Devlieghere
21*9d5e95d0SJonas Devlieghere    @skipUnlessDarwin
22*9d5e95d0SJonas Devlieghere    def test_nsdata_with_run_command_no_const(self):
23*9d5e95d0SJonas Devlieghere        """Test formatters for  NSData."""
24*9d5e95d0SJonas Devlieghere        self.appkit_tester_impl(self.nsdata_data_formatter_commands, False)
2599451b44SJordan Rupprecht
2699451b44SJordan Rupprecht    def nsdata_data_formatter_commands(self):
2799451b44SJordan Rupprecht        self.expect(
2899451b44SJordan Rupprecht            'frame variable immutableData mutableData data_ref mutable_data_ref mutable_string_ref concreteData concreteMutableData',
2999451b44SJordan Rupprecht            substrs=[
3099451b44SJordan Rupprecht                '(NSData *) immutableData = ', ' 5 bytes',
3199451b44SJordan Rupprecht                '(NSData *) mutableData = ', ' 14 bytes',
3299451b44SJordan Rupprecht                '(CFDataRef) data_ref = ', '@"5 bytes"',
3399451b44SJordan Rupprecht                '(CFMutableDataRef) mutable_data_ref = ', '@"5 bytes"',
3499451b44SJordan Rupprecht                '(CFMutableStringRef) mutable_string_ref = ',
3599451b44SJordan Rupprecht                ' @"Wish ya knew"', '(NSData *) concreteData = ',
3699451b44SJordan Rupprecht                ' 100000 bytes', '(NSMutableData *) concreteMutableData = ',
3799451b44SJordan Rupprecht                ' 100000 bytes'
3899451b44SJordan Rupprecht            ])
39