; test Image methods of PDB ; loading this file changes testing state ; Using numeric equality operator '=' on numeric ID's ; setup ; method new from fresh PIKA state returns ID 1 (define testImage (car (pika-image-new 21 22 RGB))) ; FUTURE method is_valid on new image yields #t ; method is_valid on new image yields 1 i.e. true (assert `(= (car (pika-image-id-is-valid ,testImage)) 1)) ; Ensure attributes of new image are correct ; method is_dirty on new image is true (assert `(= (car (pika-image-is-dirty ,testImage)) 1)) ; method get_width on new image yields same width given when created (assert `(= (car (pika-image-get-width ,testImage)) 21)) ; method get_height on new image yields same height given when created (assert `(= (car (pika-image-get-height ,testImage)) 22)) ; method get-base-type yields same image type given when created (assert `(= (car (pika-image-get-base-type ,testImage)) RGB)) ; new image is known to pika ; Returns ( #(1)) (assert `(= (car (pika-get-images)) ,testImage)) ; new image has no components ; new image has zero layers (assert `(= (car (pika-image-get-layers ,testImage)) 0)) ; new image has zero vectors (assert `(= (car (pika-image-get-vectors ,testImage)) 0)) ; new image has no parasites (assert `(= (length (car (pika-image-get-parasite-list ,testImage))) 0)) ; new image has-a selection (assert `(pika-image-get-selection ,testImage)) ; new image has no floating selection (assert `(= (car (pika-image-get-floating-sel ,testImage)) -1)) ; TODO floating-sel-attached-to ; new image has unit having ID 1 (assert `(= (car (pika-image-get-unit ,testImage)) 1)) ; new image has name (assert `(string=? (car (pika-image-get-name ,testImage)) "[Untitled]")) ; new image has empty metadata string (assert `(string=? (car (pika-image-get-metadata ,testImage)) "")) ; has an effective color profile (assert `(pika-image-get-effective-color-profile ,testImage)) ; new image has no associated files ; GFile is string in ScriptFu ; no file, xcf file, imported file, or exported file (assert `(string=? (car (pika-image-get-file ,testImage)) "")) (assert `(string=? (car (pika-image-get-xcf-file ,testImage)) "")) (assert `(string=? (car (pika-image-get-imported-file ,testImage)) "")) (assert `(string=? (car (pika-image-get-exported-file ,testImage)) "")) ; Test delete method. ; !!! ID 1 is no longer valid ; method delete succeeds on new image ; returns 1 for true. FUTURE returns #t (assert `(car (pika-image-delete ,testImage))) ; ensure id invalid for deleted image ; returns 0 for false. FUTURE returns #f (assert `(= (car (pika-image-id-is-valid ,testImage)) 0)) ; deleted image is not in pika ; Returns ( #()) ; FUTURE Returns empty list `() (assert `(= (car (pika-get-images)) 0)) ; !!! This only passes when testing is from fresh Pika restart ; Test abnormal args to image-new ; Dimension zero yields error ; It does NOT yield invalid ID -1 (assert-error `(pika-image-new 0 0 RGB) (string-append "Procedure execution of pika-image-new failed on invalid input arguments: " "Procedure 'pika-image-new' has been called with value '0' for argument 'width' (#1, type gint).")) ; " This value is out of range."