testing/talos/tests/test_urlsplit.py
author Attila Craciun <acraciun@mozilla.com>
Thu, 26 Oct 2017 16:07:39 +0300
changeset 441672 8c3b1c45afa6c27ee10c7697d2fad370afdf3d4e
child 441704 a6d7be4ac1e38674333a4ede49b690524d377c8f
permissions -rwxr-xr-x
Backed out changeset f80976fdf539 (bug 1399800) for failing in /builds/worker/checkouts/gecko/testing/talos/talos/unittests/conftest.py:1:1 r=backout CLOSED TREE. Backed out changeset f80976fdf539 (bug 1399800)

#!/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
"""
from __future__ import absolute_import

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()