Skip to content

Commit

Permalink
Typing part 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Secrus committed Jul 26, 2022
1 parent df589bf commit c4e1656
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 8 deletions.
4 changes: 2 additions & 2 deletions crashtest/contracts/base_solution.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@


class BaseSolution(Solution):
def __init__(self, title: str = None, description: str = None) -> None:
def __init__(self, title: str = "", description: str = "") -> None:
self._title = title
self._description = description
self._links = []
self._links: list[str] = []

@property
def solution_title(self) -> str:
Expand Down
2 changes: 1 addition & 1 deletion crashtest/frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def __init__(self, frame_info: inspect.FrameInfo) -> None:
self._filename = frame_info.filename
self._function = frame_info.function
self._lines = None
self._file_content = None
self._file_content: str | None = None

@property
def frame(self) -> FrameType:
Expand Down
4 changes: 2 additions & 2 deletions crashtest/inspector.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
class Inspector:
def __init__(self, exception: Exception):
self._exception = exception
self._frames = None
self._frames: FrameCollection | None = None
self._outer_frames = None
self._inner_frames = None
self._previous_exception = exception.__context__
Expand Down Expand Up @@ -43,7 +43,7 @@ def frames(self) -> FrameCollection:
return self._frames

@property
def previous_exception(self) -> Exception | None:
def previous_exception(self) -> BaseException | None:
return self._previous_exception

def has_previous_exception(self) -> bool:
Expand Down
4 changes: 2 additions & 2 deletions crashtest/solution_providers/solution_provider_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

class SolutionProviderRepository(BaseSolutionProviderRepository):
def __init__(self, solution_providers: list[type] | None = None) -> None:
self._solution_providers = []
self._solution_providers: list[type] = []

if solution_providers is None:
solution_providers = []
Expand All @@ -33,7 +33,7 @@ def register_solution_providers(
return self

def get_solutions_for_exception(self, exception: Exception) -> list[Solution]:
solutions = []
solutions: list[Solution] = []

if isinstance(exception, Solution):
solutions.append(exception)
Expand Down
8 changes: 7 additions & 1 deletion tests/test_frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import inspect

from types import FrameType

from crashtest.frame import Frame
from tests.helpers import nested_exception
from tests.helpers import simple_exception
Expand All @@ -11,6 +13,7 @@ def test_frame() -> None:
try:
simple_exception()
except ValueError as e:
assert e.__traceback__ is not None
frame_info = inspect.getinnerframes(e.__traceback__)[0]
frame = Frame(frame_info)
same_frame = Frame(frame_info)
Expand All @@ -29,6 +32,7 @@ def test_frame() -> None:
try:
nested_exception()
except Exception as e:
assert e.__traceback__ is not None
frame_info = inspect.getinnerframes(e.__traceback__)[0]
other_frame = Frame(frame_info)

Expand All @@ -39,6 +43,8 @@ def test_frame() -> None:


def test_frame_with_no_context_should_return_empty_line() -> None:
frame = Frame(inspect.FrameInfo(None, "filename.py", 123, "function", None, 3))
frame = Frame(
inspect.FrameInfo(FrameType(), "filename.py", 123, "function", None, 3)
)

assert frame.line == ""

0 comments on commit c4e1656

Please sign in to comment.