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 ObjCDataFormatterNSException(ObjCDataFormatterTestCase):
1699451b44SJordan Rupprecht
1799451b44SJordan Rupprecht    def test_nsexception_with_run_command(self):
1899451b44SJordan Rupprecht        """Test formatters for NSException."""
19*9d5e95d0SJonas Devlieghere        self.appkit_tester_impl(self.nsexception_data_formatter_commands, True)
20*9d5e95d0SJonas Devlieghere
21*9d5e95d0SJonas Devlieghere    @skipUnlessDarwin
22*9d5e95d0SJonas Devlieghere    def test_nsexception_with_run_command_no_const(self):
23*9d5e95d0SJonas Devlieghere        """Test formatters for NSException."""
24*9d5e95d0SJonas Devlieghere        self.appkit_tester_impl(self.nsexception_data_formatter_commands, False)
2599451b44SJordan Rupprecht
2699451b44SJordan Rupprecht    def nsexception_data_formatter_commands(self):
2799451b44SJordan Rupprecht        self.expect(
2899451b44SJordan Rupprecht            'frame variable except0 except1 except2 except3',
2999451b44SJordan Rupprecht            substrs=[
3099451b44SJordan Rupprecht                '(NSException *) except0 = ',
3199451b44SJordan Rupprecht                '@"First"',
3299451b44SJordan Rupprecht                '(NSException *) except1 = ',
3399451b44SJordan Rupprecht                '@"Second"',
3499451b44SJordan Rupprecht                '(NSException *) except2 = ',
3599451b44SJordan Rupprecht                ' @"Third"',
3699451b44SJordan Rupprecht                '(NSException *) except3 = ',
3799451b44SJordan Rupprecht                ' @"Fourth"'
3899451b44SJordan Rupprecht            ])
39