mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // Checks that the setting "Directly go to item in search if there is only one result " is working as expected.
 | |
| 
 | |
| define-function: (
 | |
|     "check-setting",
 | |
|     (storage_value, setting_attribute_value),
 | |
|     block {
 | |
|         assert-local-storage: {"rustdoc-go-to-only-result": |storage_value|}
 | |
|         click: "#settings-menu"
 | |
|         wait-for: "#settings"
 | |
|         assert-property: ("#go-to-only-result", {"checked": |setting_attribute_value|})
 | |
|     }
 | |
| )
 | |
| 
 | |
| go-to: "file://" + |DOC_PATH| + "/lib2/index.html"
 | |
| 
 | |
| call-function: ("check-setting", {
 | |
|     "storage_value": null,
 | |
|     "setting_attribute_value": "false",
 | |
| })
 | |
| 
 | |
| // By default, the search doesn't automatically go to the page if there is only one result.
 | |
| go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
 | |
| // It will timeout if the setting isn't working.
 | |
| wait-for: "#search"
 | |
| assert-document-property: ({"URL": "/lib2/index.html"}, CONTAINS)
 | |
| 
 | |
| // Now we change its value.
 | |
| click: "#settings-menu"
 | |
| wait-for: "#settings"
 | |
| click: "#go-to-only-result"
 | |
| assert-local-storage: {"rustdoc-go-to-only-result": "true"}
 | |
| 
 | |
| go-to: "file://" + |DOC_PATH| + "/lib2/index.html"
 | |
| // We enter it into the search.
 | |
| write: (".search-input", "HasALongTraitWithParams")
 | |
| wait-for-document-property: {"title": "HasALongTraitWithParams in lib2 - Rust"}
 | |
| assert-window-property: ({"location": "/lib2/struct.HasALongTraitWithParams.html"}, ENDS_WITH)
 | |
| 
 | |
| // Regression test for <https://github.com/rust-lang/rust/issues/112676>.
 | |
| // If "go-to-only-result" is enabled and you go back to history, it should not lead you back to the
 | |
| // page result again automatically.
 | |
| history-go-back:
 | |
| wait-for-document-property: {"title": "lib2 - Rust"}
 | |
| assert-window-property: ({"location": "/lib2/index.html"}, ENDS_WITH)
 | |
| 
 | |
| // We try again to see if it goes to the only result
 | |
| go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
 | |
| wait-for-document-property: {"title": "HasALongTraitWithParams in lib2 - Rust"}
 | |
| assert-document-property: ({"URL": "/lib2/struct.HasALongTraitWithParams.html"}, ENDS_WITH)
 | |
| 
 | |
| // We check the settings
 | |
| call-function: ("check-setting", {
 | |
|     "storage_value": "true",
 | |
|     "setting_attribute_value": "true",
 | |
| })
 | |
| 
 | |
| // And now we re-disable the setting.
 | |
| click: "#go-to-only-result"
 | |
| assert-local-storage: {"rustdoc-go-to-only-result": "false"}
 | |
| 
 | |
| go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
 | |
| // It will timeout if the setting isn't working.
 | |
| wait-for: "#search"
 | |
| assert-document-property: ({"URL": "/lib2/index.html"}, CONTAINS)
 | |
| 
 | |
| // And we check everything is back the way it was before.
 | |
| call-function: ("check-setting", {
 | |
|     "storage_value": "false",
 | |
|     "setting_attribute_value": "false",
 | |
| })
 | 
