windowsize 1536x960
compare {{.Origin}}::cache {{.Origin}}
{{with .Token}}header Authorization: Bearer {{.}}{{end}}
{{with .QuotaBypass}}header X-Go-Discovery-Auth-Bypass-Quota: {{.}}{{end}}
output tests/screentest/testdata
# Prevent dynamic readme badges from rendering
block https://codecov.io/* https://travis-ci.com/*

{{$ready := "[role='treeitem'][aria-selected='true']"}}
{{$hideElements := "document.querySelector(\"[data-test-id='UnitHeader-importedby']\")?.remove();document.querySelector(\"[data-test-id='meta-link-depsdev']\")?.remove();"}}
{{$scrollTop := "window.scrollTo({top:0});"}}

test short readme has no toggle
pathname /rsc.io/quote
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test x/tools
pathname /golang.org/x/tools@v0.1.1
wait {{$ready}}
eval {{$scrollTop}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test x/tools readme expanded
pathname /golang.org/x/tools@v0.1.1#section-readme
wait {{$ready}}
eval {{$scrollTop}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

# test x/tools directories expanded
# pathname /golang.org/x/tools@v0.1.1
# wait {{$ready}}
# click [data-test-id="directories-toggle"]
# eval {{$scrollTop}}
# eval {{$hideElements}}
# capture fullscreen
# capture fullscreen 540x1080

# TODO: https://go.dev/issue/51020
# test empty jump to modal
# pathname /golang.org/x/tools@v0.1.1
# wait {{$ready}}
# click [data-test-id="jump-to-button"]
# eval {{$hideElements}}
# capture viewport

test standard library package
pathname /errors@go1.16.3
wait {{$ready}}
eval {{$hideElements}}
capture fullscreen
capture fullscreen 540x1080

test really long import path
pathname /github.com/envoyproxy/go-control-plane@v0.9.8/envoy/config/filter/network/http_connection_manager/v2
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test package that exists in multiple modules at the same versions
pathname /github.com/hashicorp/vault/api@v1.0.3
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test no documentation
pathname /github.com/tendermint/tendermint@v0.34.10/cmd/contract_tests
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test module that is also a package
pathname /gocloud.dev@v0.22.0
block https://github.com/google/go-cloud/raw/v0.22.0/internal/website/static/go-cdk-logo-gopherblue.png
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test package not at latest version of a module
pathname /github.com/julieqiu/api-demo/oldpkg
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test standard library
pathname /std@go1.16.3
wait {{$ready}}
eval {{$hideElements}}
capture fullscreen
capture fullscreen 540x1080

test package with multiple licenses
pathname /github.com/apache/thrift@v0.14.1
block https://github.com/apache/thrift/raw/v0.14.1/doc/images/thrift-layers.png
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test package with higher major version
pathname /rsc.io/quote
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test package with multi-GOOS
pathname /github.com/creack/pty@v1.1.11
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test retracted package
pathname /k8s.io/client-go@v1.5.2
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test deprecated package
pathname /github.com/jba/bit
wait {{$ready}}
eval {{$hideElements}}
capture viewport
capture viewport 540x1080

test package with deprecated symbols
pathname /database/sql/driver@go1.16.3
wait {{$ready}}
eval {{$hideElements}}
capture fullscreen
capture fullscreen 540x1080

test about
pathname /about
capture fullscreen
capture fullscreen 540x1080

test badge
pathname /badge/
capture fullscreen
capture fullscreen 540x1080

test error
status 400
pathname /bad.package@v1.0-badversion
capture fullscreen
capture fullscreen 540x1080

test 404 with fetch button
status 404
pathname /github.com/package/does/not/exist
capture fullscreen
capture fullscreen 540x1080

test home
pathname /
click .go-Carousel-dot
capture fullscreen
capture fullscreen 540x1080

test license policy
pathname /license-policy
capture fullscreen
capture fullscreen 540x1080

test search help
pathname /search-help
capture fullscreen
capture fullscreen 540x1080

test search no results
pathname /search?q=aoeuidhtns
capture fullscreen
capture fullscreen 540x1080

test sub-repositories
pathname /golang.org/x
capture fullscreen
capture fullscreen 540x1080

test nav submenu
pathname /github.com/jba/bit
click .js-desktop-menu-hover
capture viewport
