Initial checkin of Pika from heckimp
This commit is contained in:
@ -0,0 +1,42 @@
|
||||
; test getters and setters of PikaContext
|
||||
; (sic its not an object or class)
|
||||
|
||||
|
||||
|
||||
; set-line-dash-pattern
|
||||
|
||||
; tests binding of FloatArray
|
||||
|
||||
; Default is no pattern
|
||||
; Even if user has stroked already and chosen a stroke>line>pattern
|
||||
(assert `(= (car (pika-context-get-line-dash-pattern))
|
||||
0))
|
||||
|
||||
; setter succeeds
|
||||
(assert `(pika-context-set-line-dash-pattern 2 #(5.0 11.0)))
|
||||
|
||||
; setter effective
|
||||
(assert `(= (car (pika-context-get-line-dash-pattern))
|
||||
2))
|
||||
(assert `(equal? (cadr (pika-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 `(= (car (pika-context-get-line-dash-offset))
|
||||
0.0))
|
||||
|
||||
; setter succeeds
|
||||
(assert `(pika-context-set-line-dash-offset 3.3 ))
|
||||
; setter effective
|
||||
(assert `(= (car (pika-context-get-line-dash-offset))
|
||||
3.3))
|
||||
|
||||
|
||||
|
||||
|
113
plug-ins/script-fu/test/tests/PDB/context/context-resource.scm
Normal file
113
plug-ins/script-fu/test/tests/PDB/context/context-resource.scm
Normal file
@ -0,0 +1,113 @@
|
||||
; test resource methods of Context
|
||||
|
||||
|
||||
|
||||
; function to test methods on Resource
|
||||
; for a valid Resource ID
|
||||
(define (test-resource-methods resource)
|
||||
|
||||
; a resource is an int ID in ScriptFu
|
||||
(assert `(integer? ,resource))
|
||||
|
||||
; get-name returns a string
|
||||
(assert `(string? (car (pika-resource-get-name ,resource))))
|
||||
|
||||
; id-is-valid returns truth
|
||||
; (1) FUTURE #t
|
||||
(assert `(car (pika-resource-id-is-valid ,resource)))
|
||||
|
||||
; pika-resource-get-identifiers succeeds
|
||||
; it returns a triplet
|
||||
(assert `(pika-resource-get-identifiers ,resource))
|
||||
|
||||
; pika-resource-get-identifiers returns numeric for is-internal
|
||||
; Some of the fresh pika active resource are internal, some not !!!
|
||||
(assert `(number? (car (pika-resource-get-identifiers ,resource))))
|
||||
|
||||
; name from get-identifiers is same as from pika-resource-get-name
|
||||
; name is second field of triplet i.e. cadr
|
||||
(assert `(string=? (cadr (pika-resource-get-identifiers ,resource))
|
||||
(car (pika-resource-get-name ,resource))))
|
||||
|
||||
; pika-resource-is-editable succeeds
|
||||
; Returns a wrapped boolean
|
||||
(assert `(pika-resource-is-editable ,resource))
|
||||
|
||||
; The fresh pika active resources are all system resources i.e. not editable
|
||||
; returns 0 for #f
|
||||
(assert `(= (car(pika-resource-is-editable ,resource))
|
||||
0))
|
||||
)
|
||||
|
||||
; "Test Parasite") ; name
|
||||
; "Procedure execution of pika-resource-get-parasite failed")
|
||||
|
||||
|
||||
|
||||
; test context-get-resource returns active resource of given className
|
||||
; Setup. Not assert.
|
||||
|
||||
(define testBrush (car (pika-context-get-resource "PikaBrush")))
|
||||
(define testFont (car (pika-context-get-resource "PikaFont")))
|
||||
(define testGradient (car (pika-context-get-resource "PikaGradient")))
|
||||
(define testPalette (car (pika-context-get-resource "PikaPalette")))
|
||||
(define testPattern (car (pika-context-get-resource "PikaPattern")))
|
||||
; FUTURE Dynamics and other Resource subclasses
|
||||
|
||||
|
||||
; test methods on active resource ID's
|
||||
|
||||
(test-resource-methods testBrush)
|
||||
(test-resource-methods testFont)
|
||||
(test-resource-methods testGradient)
|
||||
(test-resource-methods testPalette)
|
||||
(test-resource-methods testPattern)
|
||||
|
||||
|
||||
; test more specific context methods return same result
|
||||
; as the general context-get-resource
|
||||
|
||||
; test equality of numeric IDs
|
||||
(assert `(= (car(pika-context-get-brush))
|
||||
,testBrush))
|
||||
(assert `(= (car(pika-context-get-font))
|
||||
,testFont))
|
||||
(assert `(= (car(pika-context-get-gradient))
|
||||
,testGradient))
|
||||
(assert `(= (car(pika-context-get-palette))
|
||||
,testPalette))
|
||||
(assert `(= (car(pika-context-get-pattern))
|
||||
,testPattern))
|
||||
|
||||
|
||||
; test resource-id-is-foo methods
|
||||
|
||||
; the resource IDs from setup work with the specific id-is-foo methods
|
||||
|
||||
(assert `(= (car(pika-resource-id-is-brush ,testBrush))
|
||||
1))
|
||||
(assert `(= (car(pika-resource-id-is-font ,testFont))
|
||||
1))
|
||||
(assert `(= (car(pika-resource-id-is-gradient ,testGradient))
|
||||
1))
|
||||
(assert `(= (car(pika-resource-id-is-palette ,testPalette))
|
||||
1))
|
||||
(assert `(= (car(pika-resource-id-is-pattern ,testPattern))
|
||||
1))
|
||||
|
||||
|
||||
; test errors
|
||||
|
||||
|
||||
; invalid type name
|
||||
(assert-error `(pika-context-get-resource "InvalidTypeName")
|
||||
"Procedure execution of pika-context-get-resource failed")
|
||||
|
||||
; invalid numeric ID
|
||||
; -1 is out of range
|
||||
(assert-error `(pika-resource-get-name -1)
|
||||
"Procedure execution of pika-resource-get-name failed on invalid input arguments:")
|
||||
; 12345678 is in range but invalid
|
||||
(assert-error `(pika-resource-get-name 12345678)
|
||||
"Procedure execution of pika-resource-get-name failed on invalid input arguments:")
|
||||
|
Reference in New Issue
Block a user