import pytest from thefuck.rules.yarn_help import match, get_new_command from tests.utils import Command from thefuck.system import open_command stdout_clean = ''' Usage: yarn [command] [flags] Options: -h, --help output usage information -V, --version output the version number --verbose output verbose messages on internal operations --offline trigger an error if any required dependencies are not available in local cache --prefer-offline use network only if dependencies are not available in local cache --strict-semver --json --ignore-scripts don't run lifecycle scripts --har save HAR output of network traffic --ignore-platform ignore platform checks --ignore-engines ignore engines check --ignore-optional ignore optional dependencies --force ignore all caches --no-bin-links don't generate bin links when setting up packages --flat only allow one version of a package --prod, --production [prod] --no-lockfile don't read or generate a lockfile --pure-lockfile don't generate a lockfile --frozen-lockfile don't generate a lockfile and fail if an update is needed --link-duplicates create hardlinks to the repeated modules in node_modules --global-folder --modules-folder rather than installing modules into the node_modules folder relative to the cwd, output them here --cache-folder specify a custom folder to store the yarn cache --mutex [:specifier] use a mutex to ensure only one yarn instance is executing --no-emoji disable emoji in output --proxy --https-proxy --no-progress disable progress bar --network-concurrency maximum number of concurrent network requests Visit https://yarnpkg.com/en/docs/cli/clean for documentation about this command. ''' # noqa @pytest.mark.parametrize('command', [ Command(script='yarn help clean', stdout=stdout_clean)]) def test_match(command): assert match(command) @pytest.mark.parametrize('command, new_command', [ (Command('yarn help clean', stdout=stdout_clean), open_command('https://yarnpkg.com/en/docs/cli/clean'))]) def test_get_new_command(command, new_command): assert get_new_command(command) == new_command