# encoding: utf-8 """ Test lldb data formatter subsystem. """ import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil from ObjCDataFormatterTestCase import ObjCDataFormatterTestCase class ObjCDataFormatterNSData(ObjCDataFormatterTestCase): def test_nsdata_with_run_command(self): """Test formatters for NSData.""" self.appkit_tester_impl(self.nsdata_data_formatter_commands, True) @skipUnlessDarwin def test_nsdata_with_run_command_no_const(self): """Test formatters for NSData.""" self.appkit_tester_impl(self.nsdata_data_formatter_commands, False) def nsdata_data_formatter_commands(self): self.runCmd("settings set target.prefer-dynamic-value no-dynamic-values") self.expect( "frame variable immutableData mutableData data_ref mutable_data_ref mutable_string_ref concreteData concreteMutableData", substrs=[ "(NSData *) immutableData = ", " 5 bytes", "(NSData *) mutableData = ", " 14 bytes", "(CFDataRef) data_ref = ", '@"5 bytes"', "(CFMutableDataRef) mutable_data_ref = ", '@"5 bytes"', "(CFMutableStringRef) mutable_string_ref = ", ' @"Wish ya knew"', "(NSData *) concreteData = ", " 100000 bytes", "(NSMutableData *) concreteMutableData = ", " 100000 bytes", ], )