Index: test/keystrokes/gtk-demo/role_icon.params
===================================================================
--- test/keystrokes/gtk-demo/role_icon.params	(revision 0)
+++ test/keystrokes/gtk-demo/role_icon.params	(revision 0)
@@ -0,0 +1,5 @@
+for foo in "bin" "boot" "cdrom" "dev" "etc" "home" "initrd" "lib" "lost+found" "media" "mnt" "opt" "proc" "root" "sbin" "srv" "sys" "tmp" "usr" "var"
+do
+mkdir -p ~/1ORCA_TEST/$foo
+done
+
Index: test/keystrokes/gtk-demo/role_icon.py
===================================================================
--- test/keystrokes/gtk-demo/role_icon.py	(revision 3695)
+++ test/keystrokes/gtk-demo/role_icon.py	(working copy)
@@ -34,11 +34,28 @@
 sequence.append(TypeAction("Icon View Basics", 1000))
 sequence.append(KeyComboAction("Return", 500))
 
+########################################################################
+# Once the window pops up, go to the toolbar and click on "Home".
+# This will take us to the home directory of the user running this
+# test.  The role_icon.params file should have created a directory
+# named ~/1ORCA_TEST which should hopefully be the first directory
+# in the window contents.  Select that directory and open it.
+#
+sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_LAYERED_PANE))
+sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
+sequence.append(WaitForFocus("Home", acc_role=pyatspi.ROLE_PUSH_BUTTON))
+sequence.append(TypeAction(" "))
+sequence.append(KeyComboAction("Tab"))
+sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_LAYERED_PANE))
+sequence.append(KeyComboAction("Down"))
+sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_ICON))
+
 sequence.append(utils.StartRecordingAction())
-sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_LAYERED_PANE))
+sequence.append(KeyComboAction("Return"))
+sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
-    "Layered pane focus",
-    ["BUG? - should something be presented here?"]))
+    "Open 1ORCA_TEST Directory",
+    ["BUG? - something shouldbe presented here."]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -48,11 +65,12 @@
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "Layered pane Where Am I",
-    ["BUG? - should we present the number of items in the layered pane?",
-     "BRAILLE LINE:  'gtk-demo Application GtkIconView demo Frame ScrollPane LayeredPane'",
-     "     VISIBLE:  'LayeredPane', cursor=1",
+    ["BRAILLE LINE:  'gtk-demo Application GtkIconView demo Frame ScrollPane LayeredPane Icon'",
+     "     VISIBLE:  'Icon', cursor=1",
+     "SPEECH OUTPUT: 'Icon panel'",
      "SPEECH OUTPUT: ''",
-     "SPEECH OUTPUT: 'layered pane'"]))
+     "SPEECH OUTPUT: '0 of 20 items selected'",
+     "SPEECH OUTPUT: 'on item 0 of 20'"]))
 
 ########################################################################
 # Down into the icon list, finally making something be selected in the
@@ -77,8 +95,12 @@
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "bin icon Where Am I",
-    ["BUG? - we cannot get reliable output from this test since it depends on the contents of /",
-     "BUG? - the icon is shown as selected, so we should present 1 of 26 items selected."]))
+    ["BRAILLE LINE:  'gtk-demo Application GtkIconView demo Frame ScrollPane LayeredPane bin Icon'",
+     "     VISIBLE:  'bin Icon', cursor=1",
+     "SPEECH OUTPUT: 'Icon panel'",
+     "SPEECH OUTPUT: 'bin'",
+     "SPEECH OUTPUT: '0 of 20 items selected'",
+     "SPEECH OUTPUT: 'on item 1 of 20'"]))
 
 ########################################################################
 # Arrow right and wait for the next icon to be selected.
