Testing Git Pull Uncommitted Changes Handler in TheFuck
This test suite validates the functionality of the git_pull_uncommitted_changes rule in TheFuck project, specifically handling scenarios where git pull fails due to unstaged changes. The tests ensure proper error detection and command correction behavior.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
nvbn/thefuck
tests/rules/test_git_pull_uncommitted_changes.py
import pytest
from thefuck.rules.git_pull_uncommitted_changes import match, get_new_command
from thefuck.types import Command
@pytest.fixture
def output():
return '''error: Cannot pull with rebase: You have unstaged changes.'''
def test_match(output):
assert match(Command('git pull', output))
assert not match(Command('git pull', ''))
assert not match(Command('ls', output))
def test_get_new_command(output):
assert (get_new_command(Command('git pull', output))
== "git stash && git pull && git stash pop")