mirror of
https://github.com/simonw/files-to-prompt.git
synced 2025-10-23 00:02:47 +03:00
61 lines
2.1 KiB
Python
61 lines
2.1 KiB
Python
import os
|
|
from click.testing import CliRunner
|
|
from files_to_prompt.cli import cli
|
|
|
|
|
|
def test_basic_functionality(tmpdir):
|
|
runner = CliRunner()
|
|
with tmpdir.as_cwd():
|
|
os.makedirs("test_dir")
|
|
with open("test_dir/file1.txt", "w") as f:
|
|
f.write("Contents of file1")
|
|
with open("test_dir/file2.txt", "w") as f:
|
|
f.write("Contents of file2")
|
|
|
|
result = runner.invoke(cli, ["test_dir"])
|
|
assert result.exit_code == 0
|
|
assert "test_dir/file1.txt" in result.output
|
|
assert "Contents of file1" in result.output
|
|
assert "test_dir/file2.txt" in result.output
|
|
assert "Contents of file2" in result.output
|
|
|
|
|
|
def test_include_hidden(tmpdir):
|
|
runner = CliRunner()
|
|
with tmpdir.as_cwd():
|
|
os.makedirs("test_dir")
|
|
with open("test_dir/.hidden.txt", "w") as f:
|
|
f.write("Contents of hidden file")
|
|
|
|
result = runner.invoke(cli, ["test_dir"])
|
|
assert result.exit_code == 0
|
|
assert "test_dir/.hidden.txt" not in result.output
|
|
|
|
result = runner.invoke(cli, ["test_dir", "--include-hidden"])
|
|
assert result.exit_code == 0
|
|
assert "test_dir/.hidden.txt" in result.output
|
|
assert "Contents of hidden file" in result.output
|
|
|
|
|
|
def test_ignore_gitignore(tmpdir):
|
|
runner = CliRunner()
|
|
with tmpdir.as_cwd():
|
|
os.makedirs("test_dir")
|
|
with open("test_dir/.gitignore", "w") as f:
|
|
f.write("ignored.txt")
|
|
with open("test_dir/ignored.txt", "w") as f:
|
|
f.write("This file should be ignored")
|
|
with open("test_dir/included.txt", "w") as f:
|
|
f.write("This file should be included")
|
|
|
|
result = runner.invoke(cli, ["test_dir"])
|
|
assert result.exit_code == 0
|
|
assert "test_dir/ignored.txt" not in result.output
|
|
assert "test_dir/included.txt" in result.output
|
|
|
|
result = runner.invoke(cli, ["test_dir", "--ignore-gitignore"])
|
|
assert result.exit_code == 0
|
|
assert "test_dir/ignored.txt" in result.output
|
|
assert "This file should be ignored" in result.output
|
|
assert "test_dir/included.txt" in result.output
|