orca r3618 - in trunk: . test/html test/keystrokes/firefox



Author: joanied
Date: Thu Feb 21 01:42:34 2008
New Revision: 3618
URL: http://svn.gnome.org/viewvc/orca?rev=3618&view=rev

Log:
* test/keystrokes/firefox/line_nav_empty_anchor.py: (new)
  test/html/bug-517371.html: (new)
  New regression test.


Added:
   trunk/test/html/bug-517371.html
   trunk/test/keystrokes/firefox/line_nav_empty_anchor.py
Modified:
   trunk/ChangeLog

Added: trunk/test/html/bug-517371.html
==============================================================================
--- (empty file)
+++ trunk/test/html/bug-517371.html	Thu Feb 21 01:42:34 2008
@@ -0,0 +1,30 @@
+<html>
+<head>
+<title>Testing</title>
+</head>
+<body>
+<h1>FAQ </h1>
+<h2>Battery</h2>
+<p><a href="#1">Q. What's a battery?</a> </p>
+<p><a href="#2">Q. Which way is up?</a><br>
+</p>
+<p><a href="#3">Q. Why did Orca used to get stuck on this page?</a><br>
+</p>
+<h2><br>
+  FOO</h2>
+<p><a href="#8">Q. Why would someone put a line break in a heading?</a><br>
+</p>
+<p><a href="#9">Q. What is the airspeed velocity of an unladen swallow?</a><br>
+</p>
+<p></p>
+<p></p>
+<p></p>
+<h2><br>
+  Battery</h2>
+<p><a name="1"></a><b>Q. What is a battery?</b><br>
+  A. Look it up.</p>
+<p><a name="2"></a><b>Q. Which way is up?</b><br>
+  A. That way. </p>
+<p><a name="3"></a><b>Q. Why did Orca used to get stuck on this page?</b><br>
+  A. Empty anchors.</p>
+</body></html>

Added: trunk/test/keystrokes/firefox/line_nav_empty_anchor.py
==============================================================================
--- (empty file)
+++ trunk/test/keystrokes/firefox/line_nav_empty_anchor.py	Thu Feb 21 01:42:34 2008
@@ -0,0 +1,330 @@
+# -*- coding: utf-8 -*-
+#!/usr/bin/python
+
+"""Test of line navigation output of Firefox on a page with empty
+anchors.
+"""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+########################################################################
+# We wait for the focus to be on a blank Firefox window.
+#
+sequence.append(WaitForWindowActivate("Minefield",None))
+
+########################################################################
+# Load the local "bug-517371" test case.
+#
+sequence.append(KeyComboAction("<Control>l"))
+sequence.append(WaitForFocus("Location", acc_role=pyatspi.ROLE_ENTRY))
+
+sequence.append(TypeAction(utils.htmlURLPrefix + "bug-517371.html"))
+sequence.append(KeyComboAction("Return"))
+
+sequence.append(WaitForDocLoad())
+
+sequence.append(WaitForFocus("Testing",
+                             acc_role=pyatspi.ROLE_DOCUMENT_FRAME))
+
+########################################################################
+# Press Control+Home to move to the top.
+#
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("<Control>Home"))
+sequence.append(utils.AssertPresentationAction(
+    "Top of file",
+    ["BRAILLE LINE:  'FAQ h1'",
+     "     VISIBLE:  'FAQ h1', cursor=1",
+     "SPEECH OUTPUT: 'FAQ '",
+     "SPEECH OUTPUT: 'heading  '",
+     "SPEECH OUTPUT: 'level 1'"]))
+
+########################################################################
+# Down Arrow.
+#
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Battery h2'",
+     "     VISIBLE:  'Battery h2', cursor=1",
+     "SPEECH OUTPUT: 'Battery heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. What's a battery? Link'",
+     "     VISIBLE:  'Q. What's a battery? Link', cursor=1",
+     "SPEECH OUTPUT: 'Q. What's a battery? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. Which way is up? Link'",
+     "     VISIBLE:  'Q. Which way is up? Link', cursor=1",
+     "SPEECH OUTPUT: 'Q. Which way is up? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page? Link'",
+     "     VISIBLE:  'Q. Why did Orca used to get stuc', cursor=1",
+     "SPEECH OUTPUT: 'Q. Why did Orca used to get stuck on this page? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  ' h2'",
+     "     VISIBLE:  ' h2', cursor=1",
+     "SPEECH OUTPUT: '",
+     " heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'FOO h2'",
+     "     VISIBLE:  'FOO h2', cursor=1",
+     "SPEECH OUTPUT: 'FOO'",
+     "SPEECH OUTPUT: 'heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. Why would someone put a line break in a heading? Link'",
+     "     VISIBLE:  'Q. Why would someone put a line ', cursor=1",
+     "SPEECH OUTPUT: 'Q. Why would someone put a line break in a heading? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. What is the airspeed velocity of an unladen swallow? Link'",
+     "     VISIBLE:  'Q. What is the airspeed velocity', cursor=1",
+     "SPEECH OUTPUT: 'Q. What is the airspeed velocity of an unladen swallow? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  ' h2'",
+     "     VISIBLE:  ' h2', cursor=1",
+     "SPEECH OUTPUT: '",
+     " heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Battery h2'",
+     "     VISIBLE:  'Battery h2', cursor=1",
+     "SPEECH OUTPUT: 'Battery heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. What is a battery?'",
+     "     VISIBLE:  'Q. What is a battery?', cursor=1",
+     "SPEECH OUTPUT: 'Q. What is a battery?",
+     "'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'A. Look it up.'",
+     "     VISIBLE:  'A. Look it up.', cursor=1",
+     "SPEECH OUTPUT: 'A. Look it up.'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. Which way is up?'",
+     "     VISIBLE:  'Q. Which way is up?', cursor=1",
+     "SPEECH OUTPUT: 'Q. Which way is up?",
+     "'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'A. That way.'",
+     "     VISIBLE:  'A. That way.', cursor=1",
+     "SPEECH OUTPUT: 'A. That way.'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page?'",
+     "     VISIBLE:  'Q. Why did Orca used to get stuc', cursor=1",
+     "SPEECH OUTPUT: 'Q. Why did Orca used to get stuck on this page?",
+     "'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Down",
+    ["BRAILLE LINE:  'A. Empty anchors.'",
+     "     VISIBLE:  'A. Empty anchors.', cursor=1",
+     "SPEECH OUTPUT: 'A. Empty anchors.'"]))
+
+########################################################################
+# Up Arrow.
+#
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page?'",
+     "     VISIBLE:  'Q. Why did Orca used to get stuc', cursor=1",
+     "SPEECH OUTPUT: 'Q. Why did Orca used to get stuck on this page?",
+     "'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'A. That way.'",
+     "     VISIBLE:  'A. That way.', cursor=1",
+     "SPEECH OUTPUT: 'A. That way.'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. Which way is up?'",
+     "     VISIBLE:  'Q. Which way is up?', cursor=1",
+     "SPEECH OUTPUT: 'Q. Which way is up?",
+     "'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'A. Look it up.'",
+     "     VISIBLE:  'A. Look it up.', cursor=1",
+     "SPEECH OUTPUT: 'A. Look it up.'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. What is a battery?'",
+     "     VISIBLE:  'Q. What is a battery?', cursor=1",
+     "SPEECH OUTPUT: 'Q. What is a battery?",
+     "'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Battery h2'",
+     "     VISIBLE:  'Battery h2', cursor=1",
+     "SPEECH OUTPUT: 'Battery heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. What is the airspeed velocity of an unladen swallow? Link'",
+     "     VISIBLE:  'Q. What is the airspeed velocity', cursor=1",
+     "SPEECH OUTPUT: 'Q. What is the airspeed velocity of an unladen swallow? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. Why would someone put a line break in a heading? Link'",
+     "     VISIBLE:  'Q. Why would someone put a line ', cursor=1",
+     "SPEECH OUTPUT: 'Q. Why would someone put a line break in a heading? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'FOO h2'",
+     "     VISIBLE:  'FOO h2', cursor=1",
+     "SPEECH OUTPUT: 'FOO'",
+     "SPEECH OUTPUT: 'heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page? Link'",
+     "     VISIBLE:  'Q. Why did Orca used to get stuc', cursor=1",
+     "SPEECH OUTPUT: 'Q. Why did Orca used to get stuck on this page? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. Which way is up? Link'",
+     "     VISIBLE:  'Q. Which way is up? Link', cursor=1",
+     "SPEECH OUTPUT: 'Q. Which way is up? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Q. What's a battery? Link'",
+     "     VISIBLE:  'Q. What's a battery? Link', cursor=1",
+     "SPEECH OUTPUT: 'Q. What's a battery? link'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'Battery h2'",
+     "     VISIBLE:  'Battery h2', cursor=1",
+     "SPEECH OUTPUT: 'Battery heading  '",
+     "SPEECH OUTPUT: 'level 2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Up"))
+sequence.append(utils.AssertPresentationAction(
+    "Line Up",
+    ["BRAILLE LINE:  'FAQ h1'",
+     "     VISIBLE:  'FAQ h1', cursor=1",
+     "SPEECH OUTPUT: 'FAQ '",
+     "SPEECH OUTPUT: 'heading  '",
+     "SPEECH OUTPUT: 'level 1'"]))
+
+########################################################################
+# Move to the location bar by pressing Control+L.  When it has focus
+# type "about:blank" and press Return to restore the browser to the
+# conditions at the test's start.
+#
+sequence.append(KeyComboAction("<Control>l"))
+sequence.append(WaitForFocus("Location", acc_role=pyatspi.ROLE_ENTRY))
+
+sequence.append(TypeAction("about:blank"))
+sequence.append(KeyComboAction("Return"))
+
+sequence.append(WaitForDocLoad())
+
+# Just a little extra wait to let some events get through.
+#
+sequence.append(PauseAction(3000))
+
+sequence.append(utils.AssertionSummaryAction())
+
+sequence.start()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]