mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-03 22:49:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// This test ensures that the "pocket menus" are working as expected.
 | 
						|
include: "utils.goml"
 | 
						|
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
 | 
						|
// First we check that the help menu doesn't exist yet.
 | 
						|
assert-false: "#help-button .popover"
 | 
						|
// Then we display the help menu.
 | 
						|
click: "#help-button"
 | 
						|
assert: "#help-button .popover"
 | 
						|
assert-css: ("#help-button .popover", {"display": "block"})
 | 
						|
 | 
						|
// Now we click somewhere else on the page to ensure it is handling the blur event
 | 
						|
// correctly.
 | 
						|
click: ".sidebar"
 | 
						|
assert-css: ("#help-button .popover", {"display": "none"})
 | 
						|
 | 
						|
// Now we will check that we cannot have two "pocket menus" displayed at the same time.
 | 
						|
click: "#help-button"
 | 
						|
assert-css: ("#help-button .popover", {"display": "block"})
 | 
						|
click: "#settings-menu"
 | 
						|
assert-css: ("#help-button .popover", {"display": "none"})
 | 
						|
assert-css: ("#settings-menu .popover", {"display": "block"})
 | 
						|
 | 
						|
// Now the other way.
 | 
						|
click: "#help-button"
 | 
						|
assert-css: ("#help-button .popover", {"display": "block"})
 | 
						|
assert-css: ("#settings-menu .popover", {"display": "none"})
 | 
						|
 | 
						|
// Now verify that clicking the help menu again closes it.
 | 
						|
click: "#help-button"
 | 
						|
assert-css: ("#help-button .popover", {"display": "none"})
 | 
						|
assert-css: ("#settings-menu .popover", {"display": "none"})
 | 
						|
 | 
						|
define-function: (
 | 
						|
    "check-popover-colors",
 | 
						|
    [theme, border_color],
 | 
						|
    block {
 | 
						|
        call-function: ("switch-theme", {"theme": |theme|})
 | 
						|
 | 
						|
        click: "#help-button"
 | 
						|
        assert-css: (
 | 
						|
            "#help-button .popover",
 | 
						|
            {"display": "block", "border-color": |border_color|},
 | 
						|
        )
 | 
						|
        compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"])
 | 
						|
        compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"])
 | 
						|
    }
 | 
						|
)
 | 
						|
 | 
						|
// We check the borders color now:
 | 
						|
call-function: ("check-popover-colors", {
 | 
						|
    "theme": "ayu",
 | 
						|
    "border_color": "#5c6773",
 | 
						|
})
 | 
						|
call-function: ("check-popover-colors", {
 | 
						|
    "theme": "dark",
 | 
						|
    "border_color": "#e0e0e0",
 | 
						|
})
 | 
						|
call-function: ("check-popover-colors", {
 | 
						|
    "theme": "light",
 | 
						|
    "border_color": "#e0e0e0",
 | 
						|
})
 | 
						|
 | 
						|
// Opening the mobile sidebar should close the settings popover.
 | 
						|
set-window-size: (650, 600)
 | 
						|
click: "#settings-menu a"
 | 
						|
assert-css: ("#settings-menu .popover", {"display": "block"})
 | 
						|
click: ".sidebar-menu-toggle"
 | 
						|
assert: "//*[@class='sidebar shown']"
 | 
						|
assert-css: ("#settings-menu .popover", {"display": "none"})
 | 
						|
// Opening the settings popover should close the sidebar.
 | 
						|
click: "#settings-menu a"
 | 
						|
assert-css: ("#settings-menu .popover", {"display": "block"})
 | 
						|
assert-false: "//*[@class='sidebar shown']"
 | 
						|
 | 
						|
// Opening the settings popover at start (which async loads stuff) should also close.
 | 
						|
reload:
 | 
						|
click: ".sidebar-menu-toggle"
 | 
						|
assert: "//*[@class='sidebar shown']"
 | 
						|
assert-false: "#settings-menu .popover"
 | 
						|
click: "#settings-menu a"
 | 
						|
assert-false: "//*[@class='sidebar shown']"
 | 
						|
wait-for: "#settings-menu .popover"
 |