test_main.py 827 B

1234567891011121314151617181920212223242526272829
  1. import pathlib
  2. import unittest.mock
  3. import pytest
  4. import acpi_backlight
  5. @pytest.mark.parametrize(
  6. ("expr_str", "brightness"),
  7. [
  8. ("0", "0"),
  9. ("1", "200"),
  10. ("0.4", "80"),
  11. ("b / 2 + 0.21", "92"),
  12. ("b - 1", "0"),
  13. ("b + 1", "200"),
  14. ],
  15. )
  16. def test_main(tmp_path: pathlib.Path, expr_str: str, brightness: str):
  17. acpi_dir_path = tmp_path.joinpath("intel_backlight")
  18. acpi_dir_path.mkdir()
  19. acpi_dir_path.joinpath("brightness").write_text("100")
  20. acpi_dir_path.joinpath("max_brightness").write_text("200")
  21. with unittest.mock.patch("sys.argv", ["", expr_str]), unittest.mock.patch(
  22. "acpi_backlight._ACPI_BACKLIGHT_ROOT_DIR_PATH", tmp_path
  23. ):
  24. acpi_backlight.main()
  25. assert acpi_dir_path.joinpath("brightness").read_text() == brightness