DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (dcc6d7a0dc00)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
#!/usr/bin/env python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

"""
test URL parsing; see
https://bugzilla.mozilla.org/show_bug.cgi?id=793875
"""

import unittest
import talos.utils

class TestURLParsing(unittest.TestCase):

    def test_http_url(self):
        """test parsing an HTTP URL"""

        url = 'https://www.mozilla.org/en-US/about/'
        parsed = talos.utils.urlsplit(url)
        self.assertEqual(parsed,
                         ['https', 'www.mozilla.org', '/en-US/about/', '', ''])

    def test_file_url(self):
        """test parsing file:// URLs"""

        # unix-like file path
        url = 'file:///foo/bar'
        parsed = talos.utils.urlsplit(url)
        self.assertEqual(parsed,
                         ['file', '', '/foo/bar', '', ''])


        # windows-like file path
        url = r'file://c:\foo\bar'
        parsed = talos.utils.urlsplit(url)
        self.assertEqual(parsed,
                         ['file', '', r'c:\foo\bar', '', ''])

    def test_implicit_file_url(self):
        """
        test parsing URLs with no scheme, which by default are assumed
        to be file:// URLs
        """

        path = '/foo/bar'
        parsed = talos.utils.urlsplit(path)
        self.assertEqual(parsed,
                         ['file', '', '/foo/bar', '', ''])

if __name__ == '__main__':
    unittest.main()