1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 01:12:40 +02:00
Files
gimp/plug-ins/script-fu/test/tests/PDB/vectors/vectors-new.scm
2025-01-04 15:11:03 +00:00

106 lines
2.4 KiB
Scheme

; Test methods of Path class of the PDB
; Formerly known as "Vectors".
; Model: Image has set of Paths. Path has strokes.
(script-fu-use-v3)
; setup
(define testImage (gimp-image-new 21 22 RGB))
(gimp-message "testImage is:" (number->string testImage))
; ID methods
; ensure ID 0 and negative are not paths
(assert '(not (gimp-item-id-is-path 0)))
; Test valid ID is tested drive-by
(test! "image get/set paths methods")
; This sequence of tests requires testImage has no paths yet
; ensure get-paths from image having no paths yields list length zero
; FUTURE: returns just #(), not (0 #())
(assert `(= (vector-length (gimp-image-get-paths ,testImage))
0))
; setup, not an assert
; path-new succeeds and returns a single ID.
(define testPath (gimp-path-new
testImage
"Test Path"))
; !!! id is valid even though path is not inserted in image
(assert `(gimp-item-id-is-path ,testPath))
; new path's name is as given
(assert `(string=?
(gimp-item-get-name ,testPath)
"Test Path"))
; new path is not in image yet
; image still has count of paths == 0
(assert `(= (vector-length (gimp-image-get-paths ,testImage))
0))
; new path has no strokes
; path has stroke count == 0
(assert `(= (vector-length (gimp-path-get-strokes ,testPath))
0))
; insert path in image succeeds
; C returns void, yields #t in scheme
(assert `(gimp-image-insert-path
,testImage
,testPath
0 0)) ; parent=0 position=0
; image with one inserted path now has count of paths == 1
(assert `(= (vector-length (gimp-image-get-paths ,testImage))
1))
(test! "path export methods")
; export single path to string succeeds
(assert `(gimp-image-export-path-to-string
,testImage
,testPath))
; export all paths to string all succeeds
; passing 0 for path means "all"
; FIXME this is weird, should be a separate method gimp-image-export-paths-to-string
; The name implies a single path
(assert `(gimp-image-export-path-to-string
,testImage
0))
; export single path to file succeeds
(assert `(gimp-image-export-path-to-file
,testImage
"tmp.svg"
,testPath))
; export all paths to file succeeds
(assert `(gimp-image-export-path-to-file
,testImage
"tmp2.svg"
0))
(script-fu-use-v2)