mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-11-03 03:32:25 +01:00
feat(photo-editor): Ajax Image Editor client (Photoshop-parity tools)
Photoshop-parity editor client: layers, selection/masking, brushes,
smart filters, LUT import, Quick Edit, mobile gestures, workspaces,
batch operations, and the service-worker versioning (v978->v1006).
Source: vendor/photocraft (ad1cff44) photo-editor client files, merged
onto upstream/dev (a8c147b2). Conflict resolution documented in
pr_work/A_conflicts.md; editor files taken from vendor/photocraft
(upstream's editor is an earlier snapshot of the same feature).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c74f475679
commit
5fac693c1c
@@ -0,0 +1,32 @@
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
GALLERY = ROOT / "static/js/galleryEditor.js"
|
||||
HISTORY = ROOT / "static/js/editor/history-panel.js"
|
||||
STUDIO = ROOT / "static/js/editor/panels/studio-panels.js"
|
||||
|
||||
|
||||
def test_docked_history_panel_has_no_open_in_window_button():
|
||||
# The docked History panel already shows the timeline inline, so the
|
||||
# redundant "Open in window" button was removed (the floating window is
|
||||
# still reachable from the topbar clock button #ge-history-btn).
|
||||
src = STUDIO.read_text(encoding="utf-8")
|
||||
assert "ge-history-popout" not in src
|
||||
assert "Open in window" not in src
|
||||
assert "ge-dock-history-list" in src
|
||||
|
||||
|
||||
def test_docked_history_group_is_height_bounded():
|
||||
src = GALLERY.read_text(encoding="utf-8")
|
||||
# The History group is bounded so its list scrolls internally instead of
|
||||
# ballooning to the full content height (which pushed it past the dock).
|
||||
assert "group: 'History', groupSize: 240" in src
|
||||
|
||||
|
||||
def test_history_reveals_current_without_scrolling_the_dock():
|
||||
src = HISTORY.read_text(encoding="utf-8")
|
||||
# Scroll only the list, or its dock panels scroller — never the whole dock.
|
||||
assert "list.scrollHeight > list.clientHeight + 1" in src
|
||||
assert "list.closest('.ge-dock-panels')" in src
|
||||
assert "scroller.scrollTop" in src
|
||||
Reference in New Issue
Block a user