1
0
Fork 0
gimp/plug-ins/script-fu/test/tests/PDB/context/context-get-set.scm
Daniel Baumann 554424e00a
Adding upstream version 3.0.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-23 00:14:50 +02:00

120 lines
3.3 KiB
Scheme

; test getters and setters of GimpContext
; (sic its not an object or class)
; see context-stack.scm for context push pop
; see paint/paint-methods for context-list-paint-methods
(script-fu-use-v3)
(test! "set-line-dash-pattern")
; tests binding of FloatArray
; Default is pattern length zero
; Even if user has stroked already and chosen a stroke>line>pattern
; Returns (<len> #(<pattern>)))
(assert `(= (vector-length (gimp-context-get-line-dash-pattern))
0))
; setter succeeds
(assert `(gimp-context-set-line-dash-pattern #(5.0 11.0)))
; setter effective, length now two
(assert `(= (vector-length (gimp-context-get-line-dash-pattern))
2))
; and pattern is as set
(assert `(equal? (gimp-context-get-line-dash-pattern)
#(5.0 11.0)))
; get-line-dash-offset
;tests binding of float i.e. gdouble
; defaults to 0.0 until set
; FIXME why doesn't it persist in settings?
(assert `(= (gimp-context-get-line-dash-offset)
0.0))
; setter succeeds
(assert `(gimp-context-set-line-dash-offset 3.3 ))
; setter effective
(assert `(= (gimp-context-get-line-dash-offset)
3.3))
(test! "get set foreground background color")
; Not testing clean install, default foreground is black, background white
(assert `(gimp-context-set-foreground "black"))
(assert `(gimp-context-set-background "white"))
; foreground is black opaque
(assert `(equal? (gimp-context-get-foreground)
'(0 0 0 255)))
; background is white opaque
(assert `(equal? (gimp-context-get-background)
'(255 255 255 255)))
(test! "swap foreground with background")
(assert `(gimp-context-swap-colors))
; swap effective, foreground now white
(assert `(equal? (gimp-context-get-foreground)
'(255 255 255 255)))
; can set foreground color by name
(assert `(gimp-context-set-foreground "red"))
; effective
(assert `(equal? (gimp-context-get-foreground)
'(255 0 0 255)))
; can set foreground by tuple
(assert `(gimp-context-set-foreground '(0 255 0)))
; effective
(assert `(equal? (gimp-context-get-foreground)
'(0 255 0 255)))
(test! "can set foreground passing an alpha component, ineffectively")
;(assert-error `(gimp-context-set-foreground '(0 255 0 1))
; "in script, expected type: color list of numeric components for argument 1 to gimp-context-set-foreground")
(assert `(gimp-context-set-foreground '(0 255 0 1)))
; not effective, alpha is returned but not as passed
(assert `(equal? (gimp-context-get-foreground)
'(0 255 0 255)))
(test! "set foreground background to default")
; Test this last so it cleans up
(assert `(gimp-context-set-default-colors))
; effective, foreground is back to black
(assert `(equal? (gimp-context-get-foreground)
'(0 0 0 255)))
(test! "get set gradient blend color space")
; default, after a clean install
(assert `(equal? (gimp-context-get-gradient-blend-color-space)
GRADIENT-BLEND-RGB-PERCEPTUAL))
; set
(assert `(gimp-context-set-gradient-blend-color-space GRADIENT-BLEND-RGB-LINEAR))
; set effective
(assert `(equal? (gimp-context-get-gradient-blend-color-space)
GRADIENT-BLEND-RGB-LINEAR))
; clean up after test, restore to default
(assert `(gimp-context-set-gradient-blend-color-space GRADIENT-BLEND-RGB-PERCEPTUAL))
(script-fu-use-v2)