Testing Yarn Command Alias Detection and Correction in thefuck
This test suite verifies the yarn alias correction functionality in thefuck, focusing on command matching and substitution. It ensures the tool can properly identify and correct common yarn command aliases and typos.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
nvbn/thefuck
tests/rules/test_yarn_alias.py
import pytest
from thefuck.rules.yarn_alias import match, get_new_command
from thefuck.types import Command
output_remove = 'error Did you mean `yarn remove`?'
output_etl = 'error Command "etil" not found. Did you mean "etl"?'
output_list = 'error Did you mean `yarn list`?'
@pytest.mark.parametrize('command', [
Command('yarn rm', output_remove),
Command('yarn etil', output_etl),
Command('yarn ls', output_list)])
def test_match(command):
assert match(command)
@pytest.mark.parametrize('command, new_command', [
(Command('yarn rm', output_remove), 'yarn remove'),
(Command('yarn etil', output_etl), 'yarn etl'),
(Command('yarn ls', output_list), 'yarn list')])
def test_get_new_command(command, new_command):
assert get_new_command(command) == new_command