textual-paint/requirements.txt

20 lines
1.0 KiB
Plaintext
Raw Normal View History

appscript==1.2.2; sys_platform == 'darwin' # for setting the wallpaper on macOS; optional, falls back to osascript CLI
pyobjc-framework-Quartz==9.2; sys_platform == 'darwin' # for getting the screen resolution on macOS; optional, falls back to 1920x1080
2023-05-15 06:20:18 +03:00
Pillow==9.5.0
# psutil==5.9.0 # for cleaning up open files when auto-restarting on changes in development; optional
2023-05-13 07:56:55 +03:00
pyfiglet==0.8.post1
# PyGObject==3.42.1 # gi.repository module, used for setting the wallpaper on gnome, unity, and cinnamon; optional, falls back to gsettings CLI
pyperclip==1.8.2
pyxdg==0.28 # xdg module, used for wallpaper setting; optional, falls back to ~/.config
rich==13.3.5
2023-04-11 23:22:00 +03:00
stransi==0.3.0
textual==0.35.0
textual-dev==1.1.0 # for development (`textual` CLI)
watchdog==3.0.0 # for development; optional (only used when --restart-on-changes is passed)
types-Pillow==10.0.0.1 # for development
types-psutil==5.9.5.15 # for development
2023-09-07 22:14:07 +03:00
pytest==7.4.1 # for development
2023-09-14 08:50:37 +03:00
pytest-asyncio==0.21.1 # for development
2023-09-07 22:14:07 +03:00
pytest-textual-snapshot==0.4.0 # for development
Use pyfakefs for file dialog tests - The app's directory structure is not a constant, and shouldn't play into this test. Aside from codebase restructuring, directories like `__pycache__` can come and go. - Even if a temporary directory were created with files enough to fill the view, the scrollbar would still change based on the folder structure outside of the temporary folder. - pyfakefs is one way to ensure a consistent view of a folder structure for testing. It allows adding real folders in a readonly way. It's more complicated than I thought it would be going in, since I had to add workarounds for pyfiglet and pytest-textual-snapshot, and handle an edge case in my EnhancedDirectoryTree (which got an error which seems to be swallowed?), not to mention pyfakefs raises an error saying "No such file or directory in the fake filesystem" when actually it's the real directory not existing when trying to add it to the fake filesystem, and VS Code was hiding stack frames and refusing to step into library code, and it turned out that I was resolving the absolute path wrong, but it looked right to me because the only part that was missing was "textual-paint", when, at a glance it seemed present, since the "textual_paint" part was present. Ay-ay-ay! - I don't know if this will fix the problem I saw where these tests' snapshots all changed with no visual or even structural changes, just the IDs of elements changing. I don't know what caused that. Oh yeah and this is still actually a problem: ============================================= short test summary info ============================================== FAILED tests/test_snapshots.py::test_paint_open_dialog[light_unicode] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? FAILED tests/test_snapshots.py::test_paint_open_dialog[dark_unicode] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? FAILED tests/test_snapshots.py::test_paint_open_dialog[light_ascii] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? FAILED tests/test_snapshots.py::test_paint_open_dialog[dark_ascii] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? FAILED tests/test_snapshots.py::test_paint_save_dialog[light_unicode] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? FAILED tests/test_snapshots.py::test_paint_save_dialog[dark_unicode] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? FAILED tests/test_snapshots.py::test_paint_save_dialog[light_ascii] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? FAILED tests/test_snapshots.py::test_paint_save_dialog[dark_ascii] - AttributeError: 'EnhancedDirectoryTree' object has no attribute '_id'. Did you mean: 'id'? ========================== 8 failed, 56 passed, 1 xfailed, 1 warning in 152.86s (0:02:32) ========================== It worked when running in debug, but not when running normally.
2023-09-13 01:38:08 +03:00
pyfakefs==5.2.4 # for development