[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/gitpython-developers/GitPython/main/test/test_actor.py [Back]  [Original]

# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under the
# 3-Clause BSD License: https://opensource.org/license/bsd-3-clause/

from unittest import mock

from git import Actor
from test.lib import TestBase


class TestActor(TestBase):
    def test_from_string_should_separate_name_and_email(self):
        a = Actor.from_string("Michael Trier ")
        self.assertEqual("Michael Trier", a.name)
        self.assertEqual("mtrier@example.com", a.email)

        # Base type capabilities
        assert a == a
        assert not (a != a)
        m = set()
        m.add(a)
        m.add(a)
        assert len(m) == 1

    def test_from_string_should_handle_just_name(self):
        a = Actor.from_string("Michael Trier")
        self.assertEqual("Michael Trier", a.name)
        self.assertEqual(None, a.email)

    def test_from_string_constructs_subclass(self):
        class DerivedActor(Actor):
            pass

        self.assertIsInstance(DerivedActor.from_string("name "), DerivedActor)

    def test_from_string_handles_unterminated_email_without_regex_backtracking(self):
        value = "A" * 20_000 + " 

Web Proxy Viewer  |  New URL  |  Original Page