| # 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", |
| ], |
| ) |