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 ObjCDataFormatterNSURL(ObjCDataFormatterTestCase):
1699451b44SJordan Rupprecht
1799451b44SJordan Rupprecht    def test_nsurl_with_run_command(self):
1899451b44SJordan Rupprecht        """Test formatters for NSURL."""
19*9d5e95d0SJonas Devlieghere        self.appkit_tester_impl(self.nsurl_data_formatter_commands, True)
20*9d5e95d0SJonas Devlieghere
21*9d5e95d0SJonas Devlieghere    @skipUnlessDarwin
22*9d5e95d0SJonas Devlieghere    def test_nsurl_with_run_command_no_const(self):
23*9d5e95d0SJonas Devlieghere        """Test formatters for NSURL."""
24*9d5e95d0SJonas Devlieghere        self.appkit_tester_impl(self.nsurl_data_formatter_commands, False)
2599451b44SJordan Rupprecht
2699451b44SJordan Rupprecht    def nsurl_data_formatter_commands(self):
2799451b44SJordan Rupprecht        self.expect(
2899451b44SJordan Rupprecht            'frame variable cfurl_ref cfchildurl_ref cfgchildurl_ref',
2999451b44SJordan Rupprecht            substrs=[
3099451b44SJordan Rupprecht                '(CFURLRef) cfurl_ref = ', '@"http://www.foo.bar',
3199451b44SJordan Rupprecht                'cfchildurl_ref = ', '@"page.html -- http://www.foo.bar',
3299451b44SJordan Rupprecht                '(CFURLRef) cfgchildurl_ref = ',
3399451b44SJordan Rupprecht                '@"?whatever -- http://www.foo.bar/page.html"'
3499451b44SJordan Rupprecht            ])
3599451b44SJordan Rupprecht
3699451b44SJordan Rupprecht        self.expect(
3799451b44SJordan Rupprecht            'frame variable nsurl nsurl2 nsurl3',
3899451b44SJordan Rupprecht            substrs=[
3999451b44SJordan Rupprecht                '(NSURL *) nsurl = ', '@"http://www.foo.bar',
4099451b44SJordan Rupprecht                '(NSURL *) nsurl2 =', '@"page.html -- http://www.foo.bar',
4199451b44SJordan Rupprecht                '(NSURL *) nsurl3 = ',
4299451b44SJordan Rupprecht                '@"?whatever -- http://www.foo.bar/page.html"'
4399451b44SJordan Rupprecht            ])
44