           )
         (if (not= 1 test-count) ;; Children is actually just one child
           {:msg "Wrong number of child elements"
-           :expected test-count :actual 1}
+           :expected test-count :actual 1
+           :actual-children (display-children children)}
           ((nth tests 0) children)
           )
         )

      {:msg "Text does not match" :expected text :actual component}
      )
    )
  )

(defn component-name [component]
  (.-name component)                    ; This isn't standard JS, but
                                        ; works enough places, for now
  )

(defn sub-component [sub-component cursor]

        (let [child-count (count children)]
          (if (not= test-count child-count)
            {:msg "Wrong number of child elements"
             :expected test-count :actual child-count
             :actual-children (display-children children)}
            (if-let [failures
                     (seq (filter (fn [result] (not= true result))
                                  (map (fn [pred child] (pred child))
