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 def test_nsdata_with_run_command(self): 17 """Test formatters for NSData.""" 18 self.appkit_tester_impl(self.nsdata_data_formatter_commands, True) 19 20 @skipUnlessDarwin 21 def test_nsdata_with_run_command_no_const(self): 22 """Test formatters for NSData.""" 23 self.appkit_tester_impl(self.nsdata_data_formatter_commands, False) 24 25 def nsdata_data_formatter_commands(self): 26 self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values") 27 28 self.expect( 29 "frame variable immutableData mutableData data_ref mutable_data_ref mutable_string_ref concreteData concreteMutableData", 30 substrs=[ 31 "(NSData *) immutableData = ", 32 " 5 bytes", 33 "(NSData *) mutableData = ", 34 " 14 bytes", 35 "(CFDataRef) data_ref = ", 36 '@"5 bytes"', 37 "(CFMutableDataRef) mutable_data_ref = ", 38 '@"5 bytes"', 39 "(CFMutableStringRef) mutable_string_ref = ", 40 ' @"Wish ya knew"', 41 "(NSData *) concreteData = ", 42 " 100000 bytes", 43 "(NSMutableData *) concreteMutableData = ", 44 " 100000 bytes", 45 ], 46 ) 47