(in-package :qt.tests) (5am:in-suite :qt.suite) (5am:test null-bytearray "Test empty QByteArray." (5am:is (string= "" (cxx:data (make-instance 'qt:byte-array))))) (5am:test bytearray "Test string <-> QByteArray." (5am:for-all ((string (5am:gen-one-element "" "Foo" "bar" "öäü" "1234"))) (5am:is (string= string (cxx:data (make-instance 'qt:byte-array :arg0 string))))) #-openmcl ;; FIXME utf-8 problems with Clozure cl? (5am:for-all ((string (5am:gen-string))) (5am:is (string= string (cxx:data (make-instance 'qt:byte-array :arg0 string)))))) (5am:test const-bytearray "Test const QByteArray." ;; Const operator[] returns a char, but the non const version a QByteRef. ;; Using this to test constnes overload resolution. (let ((const-array (qt:operator+ (make-instance 'qt:byte-array :arg0 "a") (make-instance 'qt:byte-array :arg0 "b")))) (5am:is (typep (cxx:operator[] (make-instance 'qt:byte-array :arg0 "a") 0) 'qt:byte-ref)) (5am:is (eql #\a (cxx:operator[] const-array 0)))))