Commit 65322165 authored by Yulun Wu's avatar Yulun Wu Committed by Commit Bot

OOBE Welcome Screen Tests.

Adding browser tests to check welcome screen -> language settings flow.
Adding browser tests to check welcome screen -> accessibility flow.
Adding browser tests to verify accessibility, language, and keyboard setup in
OOBE works properly.

Bug: 953020
Change-Id: I6184ca0fe47bc127dd0bc1b74bb9e2a5a0c8677c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1586586
Commit-Queue: Yulun Wu <yulunwu@chromium.org>
Reviewed-by: default avatarToni Baržić <tbarzic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#656469}
parent 143a4f2d
...@@ -70,15 +70,16 @@ class WelcomeScreen : public BaseScreen, ...@@ -70,15 +70,16 @@ class WelcomeScreen : public BaseScreen,
void AddObserver(Observer* observer); void AddObserver(Observer* observer);
void RemoveObserver(Observer* observer); void RemoveObserver(Observer* observer);
// BaseScreen implementation:
void Show() override;
void Hide() override;
void OnUserAction(const std::string& action_id) override;
protected: protected:
// Exposes exit callback to test overrides. // Exposes exit callback to test overrides.
base::RepeatingClosure* exit_callback() { return &exit_callback_; } base::RepeatingClosure* exit_callback() { return &exit_callback_; }
private: private:
// BaseScreen implementation:
void Show() override;
void Hide() override;
void OnUserAction(const std::string& action_id) override;
// InputMethodManager::Observer implementation: // InputMethodManager::Observer implementation:
void InputMethodChanged(input_method::InputMethodManager* manager, void InputMethodChanged(input_method::InputMethodManager* manager,
......
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
<oobe-welcome-dialog id="welcomeScreen" role="dialog" <oobe-welcome-dialog id="welcomeScreen" role="dialog"
aria-label$="[[i18nDynamic(locale, 'welcomeScreenGreeting')]]" aria-label$="[[i18nDynamic(locale, 'welcomeScreenGreeting')]]"
current-language="[[currentLanguage]]" current-language="[[currentLanguage]]"
current-keyboard="[[currentKeyboard]]"
on-language-button-clicked="onWelcomeSelectLanguageButtonClicked_" on-language-button-clicked="onWelcomeSelectLanguageButtonClicked_"
on-accessibility-button-clicked="onWelcomeAccessibilityButtonClicked_" on-accessibility-button-clicked="onWelcomeAccessibilityButtonClicked_"
on-timezone-button-clicked="onWelcomeTimezoneButtonClicked_" on-timezone-button-clicked="onWelcomeTimezoneButtonClicked_"
...@@ -76,11 +77,11 @@ ...@@ -76,11 +77,11 @@
icon1x="oobe-welcome-32:language" icon2x="oobe-welcome-64:language"> icon1x="oobe-welcome-32:language" icon2x="oobe-welcome-64:language">
</hd-iron-icon> </hd-iron-icon>
<h1 slot="title">[[i18nDynamic(locale, 'languageSectionTitle')]]</h1> <h1 slot="title">[[i18nDynamic(locale, 'languageSectionTitle')]]</h1>
<div slot="footer" class="layout vertical"> <div id="setup-container" slot="footer" class="layout vertical">
<div id="languageDropdownContainer" <div id="languageDropdownContainer"
class="flex layout center horizontal justified class="flex layout center horizontal justified
language-selection-entry"> language-selection-entry">
<div class= <div id="language-dropdown" class=
"language-selection-title layout vertical center-justified"> "language-selection-title layout vertical center-justified">
[[i18nDynamic(locale, 'languageDropdownTitle')]] [[i18nDynamic(locale, 'languageDropdownTitle')]]
</div> </div>
...@@ -93,7 +94,7 @@ ...@@ -93,7 +94,7 @@
<div id="keyboardDropdownContainer" <div id="keyboardDropdownContainer"
class="flex layout center horizontal justified class="flex layout center horizontal justified
language-selection-entry"> language-selection-entry">
<div class= <div id="keyboard-dropdown" class=
"language-selection-title layout vertical center-justified"> "language-selection-title layout vertical center-justified">
[[i18nDynamic(locale, 'keyboardDropdownTitle')]] [[i18nDynamic(locale, 'keyboardDropdownTitle')]]
</div> </div>
...@@ -105,7 +106,8 @@ ...@@ -105,7 +106,8 @@
</div> </div>
</div> </div>
<div slot="bottom-buttons" class="layout horizontal end-justified"> <div slot="bottom-buttons" class="layout horizontal end-justified">
<oobe-text-button inverse on-tap="closeLanguageSection_"> <oobe-text-button id="ok-button-language"
inverse on-tap="closeLanguageSection_">
<div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div> <div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div>
</oobe-text-button> </oobe-text-button>
</div> </div>
...@@ -123,7 +125,8 @@ ...@@ -123,7 +125,8 @@
[[i18nDynamic(locale, 'accessibilitySectionHint')]] [[i18nDynamic(locale, 'accessibilitySectionHint')]]
</div> </div>
<div slot="footer" class="layout vertical scroll"> <div slot="footer" class="layout vertical scroll">
<oobe-a11y-option checked="[[a11yStatus.spokenFeedbackEnabled]]" <oobe-a11y-option id="accessibility-spoken-feedback"
checked="[[a11yStatus.spokenFeedbackEnabled]]"
on-change="onA11yOptionChanged_" on-change="onA11yOptionChanged_"
chrome-message="enableSpokenFeedback" chrome-message="enableSpokenFeedback"
label-for-aria="[[i18nDynamic(locale, 'spokenFeedbackOption')]]" label-for-aria="[[i18nDynamic(locale, 'spokenFeedbackOption')]]"
...@@ -138,7 +141,8 @@ ...@@ -138,7 +141,8 @@
[[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]] [[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]]
</span> </span>
</oobe-a11y-option> </oobe-a11y-option>
<oobe-a11y-option checked="[[a11yStatus.largeCursorEnabled]]" <oobe-a11y-option id="accessibility-large-cursor"
checked="[[a11yStatus.largeCursorEnabled]]"
on-change="onA11yOptionChanged_" chrome-message="enableLargeCursor" on-change="onA11yOptionChanged_" chrome-message="enableLargeCursor"
label-for-aria="[[i18nDynamic(locale, 'largeCursorOption')]]"> label-for-aria="[[i18nDynamic(locale, 'largeCursorOption')]]">
<span slot="title"> <span slot="title">
...@@ -151,7 +155,8 @@ ...@@ -151,7 +155,8 @@
[[i18nDynamic(locale, 'largeCursorOptionOff')]] [[i18nDynamic(locale, 'largeCursorOptionOff')]]
</span> </span>
</oobe-a11y-option> </oobe-a11y-option>
<oobe-a11y-option checked="[[a11yStatus.highContrastEnabled]]" <oobe-a11y-option id="accessibility-high-contrast"
checked="[[a11yStatus.highContrastEnabled]]"
on-change="onA11yOptionChanged_" chrome-message="enableHighContrast" on-change="onA11yOptionChanged_" chrome-message="enableHighContrast"
label-for-aria="[[i18nDynamic(locale, 'highContrastOption')]]"> label-for-aria="[[i18nDynamic(locale, 'highContrastOption')]]">
<span slot="title"> <span slot="title">
...@@ -164,7 +169,8 @@ ...@@ -164,7 +169,8 @@
[[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]] [[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]]
</span> </span>
</oobe-a11y-option> </oobe-a11y-option>
<oobe-a11y-option checked="[[a11yStatus.screenMagnifierEnabled]]" <oobe-a11y-option id="accessibility-screen-magnifier"
checked="[[a11yStatus.screenMagnifierEnabled]]"
on-change="onA11yOptionChanged_" on-change="onA11yOptionChanged_"
chrome-message="enableScreenMagnifier" chrome-message="enableScreenMagnifier"
label-for-aria="[[i18nDynamic(locale, 'screenMagnifierOption')]]"> label-for-aria="[[i18nDynamic(locale, 'screenMagnifierOption')]]">
...@@ -178,7 +184,8 @@ ...@@ -178,7 +184,8 @@
[[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]] [[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]]
</span> </span>
</oobe-a11y-option> </oobe-a11y-option>
<oobe-a11y-option checked="[[a11yStatus.selectToSpeakEnabled]]" <oobe-a11y-option id="accessibility-select-to-speak"
checked="[[a11yStatus.selectToSpeakEnabled]]"
on-change="onA11yOptionChanged_" on-change="onA11yOptionChanged_"
chrome-message="enableSelectToSpeak" chrome-message="enableSelectToSpeak"
label-for-aria="[[i18nDynamic(locale, 'selectToSpeakOption')]]" label-for-aria="[[i18nDynamic(locale, 'selectToSpeakOption')]]"
...@@ -193,7 +200,8 @@ ...@@ -193,7 +200,8 @@
[[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]] [[i18nDynamic(locale, 'a11ySettingToggleOptionOff')]]
</span> </span>
</oobe-a11y-option> </oobe-a11y-option>
<oobe-a11y-option checked="[[a11yStatus.dockedMagnifierEnabled]]" <oobe-a11y-option id="accessibility-screen-docked-magnifier"
checked="[[a11yStatus.dockedMagnifierEnabled]]"
on-change="onA11yOptionChanged_" on-change="onA11yOptionChanged_"
chrome-message="enableDockedMagnifier" chrome-message="enableDockedMagnifier"
label-for-aria="[[i18nDynamic(locale, 'dockedMagnifierOption')]]" label-for-aria="[[i18nDynamic(locale, 'dockedMagnifierOption')]]"
...@@ -225,7 +233,8 @@ ...@@ -225,7 +233,8 @@
</oobe-a11y-option> </oobe-a11y-option>
</div> </div>
<div slot="bottom-buttons" class="layout horizontal end-justified"> <div slot="bottom-buttons" class="layout horizontal end-justified">
<oobe-text-button inverse on-tap="closeAccessibilitySection_"> <oobe-text-button id="ok-button-accessibility"
inverse on-tap="closeAccessibilitySection_">
<div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div> <div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div>
</oobe-text-button> </oobe-text-button>
</div> </div>
...@@ -251,7 +260,8 @@ ...@@ -251,7 +260,8 @@
</div> </div>
</div> </div>
<div slot="bottom-buttons" class="layout horizontal end-justified"> <div slot="bottom-buttons" class="layout horizontal end-justified">
<oobe-text-button inverse on-tap="closeTimezoneSection_"> <oobe-text-button id="ok-button-timezone"
inverse on-tap="closeTimezoneSection_">
<div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div> <div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div>
</oobe-text-button> </oobe-text-button>
</div> </div>
...@@ -289,7 +299,8 @@ ...@@ -289,7 +299,8 @@
</div> </div>
</div> </div>
<div slot="bottom-buttons" class="layout horizontal end-justified"> <div slot="bottom-buttons" class="layout horizontal end-justified">
<oobe-text-button inverse on-tap="closeAdvancedOptionsSection_"> <oobe-text-button id="ok-button-advanced-options"
inverse on-tap="closeAdvancedOptionsSection_">
<div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div> <div>[[i18nDynamic(locale, 'oobeOKButtonText')]]</div>
</oobe-text-button> </oobe-text-button>
</div> </div>
......
...@@ -1891,6 +1891,7 @@ test("browser_tests") { ...@@ -1891,6 +1891,7 @@ test("browser_tests") {
"../browser/chromeos/login/screens/recommend_apps_screen_browsertest.cc", "../browser/chromeos/login/screens/recommend_apps_screen_browsertest.cc",
"../browser/chromeos/login/screens/update_screen_browsertest.cc", "../browser/chromeos/login/screens/update_screen_browsertest.cc",
"../browser/chromeos/login/screens/user_selection_screen_browsertest.cc", "../browser/chromeos/login/screens/user_selection_screen_browsertest.cc",
"../browser/chromeos/login/screens/welcome_screen_browsertest.cc",
"../browser/chromeos/login/session/chrome_session_manager_browsertest.cc", "../browser/chromeos/login/session/chrome_session_manager_browsertest.cc",
"../browser/chromeos/login/session_login_browsertest.cc", "../browser/chromeos/login/session_login_browsertest.cc",
"../browser/chromeos/login/signin/device_id_browsertest.cc", "../browser/chromeos/login/signin/device_id_browsertest.cc",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment