   {:num-tests (* 100 (property-tests-multiplier))}
   (prop/for-all [x (gen/choose 0 19)
                  y (gen/choose 0 9)
-                 rubbish gen-ascii-rubbish]
+                 input gen-input]
                 (let [vt (-> (make-vt 20 10)
                              (move-cursor x y)
-                             (feed rubbish))
+                             (feed input))
                       {:keys [lines]} vt]
                   (and (= 10 (count lines))
                        (every? #(= 20 (count %)) lines)))))

  (let [vt (-> (make-vt 4 3) (assoc-in [:parser :param-chars] [0x3b 0x3b 0x31 0x32 0x3b 0x3b 0x32 0x33 0x3b 0x31 0x3b]))]
    (is (= (get-params vt) [0 0 12 0 23 1]))))

(def gen-ascii-rubbish (gen/vector (gen/choose 0 0x9f) 1 100))
(def gen-unicode-rubbish (gen/vector (gen/choose 0 0x10ffff) 1 100))

(defspec test-parser-state-for-random-input
  {:num-tests (* 100 (property-tests-multiplier))}

                  (= attrs new-attrs))))

(defspec test-dump
  {:num-tests (* 100 (property-tests-multiplier))}
  (prop/for-all [input (gen/vector gen-input 5 100)]
    (let [blank-vt (make-vt 10 5)
          vt (reduce feed blank-vt input)
          text (dump vt)
          new-vt (feed-str blank-vt text)]
      (= (:lines vt) (:lines new-vt)))))
