qubes-installer-qubes-os/anaconda/tests/gui/welcome.py
Marek Marczykowski-Górecki 6bc5671491
anaconda: update to 25.20.9-1
Apply:
  git diff --full-index --binary anaconda-23.19.10-1..anaconda-25.20.9-1

And resolve conflicts.

QubesOS/qubes-issues#2574
2017-02-14 02:36:20 +01:00

72 lines
3.1 KiB
Python

# Copyright (C) 2014 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from .base import UITestCase
# This test case handles the basic case on the welcome language spoke where
# everything works as intended. On this spoke, we are testing the following:
#
# * The default language and locale are selected and displayed at the top
# of their views.
# * Clicking the Quit button brings up a dialog asking if you're sure, though
# we're not going to test that confirming actually quits.
# * Clicking the Continue button brings up the betanag dialog, though we're
# not going to test the quit button there either.
#
# TODO:
# * Entering text into the search box should result in narrowing down the
# contents of the left hand view.
class BasicWelcomeTestCase(UITestCase):
def check_lang_locale_views(self, spoke):
# FIXME: This encodes default information.
lang = "English"
locale = "English (United States)"
view = self.find("Languages", node=spoke)
self.assertIsNotNone(view, "Language view not found")
enabled = self.selected_view_children(view)
enabled = enabled[0].children
# We get back a list of [native name, english name, language setting] for each actual language.
self.assertEqual(len(enabled), 2, msg="An unexpected number of languages are selected")
self.assertEqual(enabled[0].text, lang)
view = self.find("Locales", node=spoke)
self.assertIsNotNone(view, "Locale view not found")
enabled = self.selected_view_children(view)
self.assertEqual(len(enabled), 1, msg="An unexpected number of locales are selected")
self.assertEqual(enabled[0].text, locale)
def check_quit_button(self, spoke):
self.click_button("_Quit", node=spoke)
dlg = self.check_dialog_displayed("Quit")
self.click_button("No", node=dlg)
def check_continue_button(self, spoke):
self.click_button("_Continue", node=spoke)
dlg = self.check_dialog_displayed("Beta Warn")
self.click_button("I accept my fate.", dlg)
def _run(self):
# Before doing anything, verify we are on the right screen.
w = self.check_window_displayed("WELCOME")
# And now we can check everything else on the screen.
self.check_help_button(w)
self.check_keyboard_layout_indicator("us", node=w)
self.check_lang_locale_views(w)
self.check_quit_button(w)
self.check_continue_button(w)