9cdd7a15f40c41874620a7d2bc907d77489f7746 braney Sat Sep 26 17:43:32 2026 -0700 docent: setVis:, rightClick:, and drag: then: none / dialog: auto, refs #37892, #38035, #38071, #38087 setVis: sets a track's visibility with its own dropdown under the image. The change event fires and the page's handler runs, with no navigation. track: asks for the mode in a URL, so it cannot see what that handler does to the page. rightClick: opens the track right-click menu and picks an entry by its text. An exact match wins over a substring. A miss fails the run and lists the entries on offer. drag: then: none leaves the drag-select dialog open for later click: steps. dialog: auto hands the selection to dragSelect.selectEnd(), so the page decides between the dialog and a straight zoom instead of the verb forcing the dialog on. A track name ending in * now matches a row id by prefix, for custom tracks. shot: also captures an open right-click menu. diff --git src/hg/utils/docent/tests/README.txt src/hg/utils/docent/tests/README.txt index e2baee6864e..8c0e5a5b676 100644 --- src/hg/utils/docent/tests/README.txt +++ src/hg/utils/docent/tests/README.txt @@ -173,31 +173,36 @@ them. views asserts wgEncodeRegMarkH3k27ac comes back, rather than working around it. Whether Docent should be cleverer here is an open question, not a settled one. * `hideKids` on a VIEW has to enumerate its leaves (a view holds no sub-containers to stop at), so views sends 188 variables in a 6,986-character request. That is under Apache's 8,190 limit with less room than is comfortable. Its `noText: "Too Long"` is what turns a future overflow into a clear failure instead of a strange one. Still to write -------------- mouseover: by item: on stacked items, and the timing case where a neighbour's tooltip is still up on arrival pinShot: several tooltips in one figure, cursors drawn convert: quickLift onto a GenArk haplotype, hideDefaults re-checked -- note a session taken after it cannot be checked in, see #38046 - drag: each of then: zoom / highlight / cancel + drag: each of then: zoom / highlight / cancel. then: none and dialog: auto are + covered only by regress/rm38071 + setVis: covered only by regress/rm38035 (in: visible). in: group, a mode the + dropdown lacks, and a track with no dropdown are untested + rightClick: covered only by regress/rm38035 and rm38087, all with pick: and frac:. + item:, no pick: (menu left open, shot), and a pick that misses are untested addHub:, addPublicHub: the two hub attach paths (a stable hub URL is the hard part) montage: panel order, lettering, a named shot that was never taken goShow: the suggestion menu, including a `pick:` that matches nothing loadSession: the three remote forms -- only the local-file form is covered hubUpload:, expect value: covered only by regress/rm38398 (one hub.txt, then the file card), not by a case here. Several files in one step, as a batch, is untested. the YAML lint `{item:name}` with no space warns and drops the argument. This needs a test that reads stderr, which the harness does not do yet. A test that needs a stable server-side fixture (a hub, a custom track) should carry it in the script rather than assume something on disk. The one fixture that cannot be carried anywhere is a login. hgCollection refuses a