luv

Workshop wiki

metabar-tests.lisp

mcclim/metabar-tests.lisp

system luv/mcclim/test · 32 definitions · on GitHub

in-package#:mcluv.tests
defclassmetabar-test-owner
gain:initform0.5:accessormetabar-test-gain
enabled-p:initformnil:accessormetabar-test-enabled-p
actions:initform0:accessormetabar-test-actions
fail-set-p:initformnil:accessormetabar-test-fail-set-p
defmethodmcluv::metabar-groups-for
declare
ignoreowner
'
:tuning
defmethodmcluv::metabar-controls-for
group
eql:tuning
declare
ignoreownergroup
'
:gain:enabled
defmethodmcluv::metabar-actions-for
declare
ignoreowner
'
:fire
defmethodmcluv::metabar-control-kind
control
eql:gain
declare
ignorecontrolowner
:scalar
defmethodmcluv::metabar-control-kind
control
eql:enabled
declare
ignorecontrolowner
:switch
defmethodmcluv::metabar-control-label
control
eql:gain
declare
ignorecontrolowner

gain

defmethodmcluv::metabar-control-label
control
eql:enabled
declare
ignorecontrolowner

enabled

defmethodmcluv::metabar-control-value
control
eql:gain
declare
ignorecontrol
metabar-test-gainowner
defmethodmcluv::metabar-control-value
control
eql:enabled
declare
ignorecontrol
metabar-test-enabled-powner
defmethodmcluv::metabar-control-value-label
control
eql:gain
value
declare
ignorecontrolowner
formatnil"~,1F"value
defmethodmcluv::metabar-control-value-label
control
eql:enabled
value
declare
ignorecontrolowner
ifvalue"on""off"
defmethodmcluv::metabar-control-fraction
control
eql:gain
value
declare
ignorecontrolowner
value
defmethodmcluv::metabar-control-fraction
control
eql:enabled
value
declare
ignorecontrolowner
ifvalue1.00.0
defmethodmcluv::metabar-control-update-policy
control
eql:gain
declare
ignorecontrolowner
:commit-on-release
defmethodmcluv::perform-metabar-control-step
control
eql:gain
directionmultiplier
declare
ignorecontrol
setf
metabar-test-gainowner
max0.0
min1.0
+
metabar-test-gainowner
*directionmultiplier0.1
defmethodmcluv::perform-metabar-control-step
control
eql:enabled
directionmultiplier
declare
ignorecontrolmultiplier
setf
metabar-test-enabled-powner
pluspdirection
defmethodmcluv::perform-metabar-control-set-fraction
control
eql:gain
fraction
declare
ignorecontrol
when
metabar-test-fail-set-powner
error"scripted metabar commit failure"
setf
metabar-test-gainowner
fraction
defmethodmcluv::perform-metabar-control-toggle
control
eql:enabled
declare
ignorecontrol
setf
metabar-test-enabled-powner
not
metabar-test-enabled-powner
defmethodmcluv::metabar-action-label
declare
ignoreactionowner

fire

defmethodmcluv::perform-metabar-action
declare
ignoreaction
incf
metabar-test-actionsowner
defunmake-metabar-test-frame
&optional
owner
make-instance'metabar-test-owner
let*
clim:make-application-frame'mcluv::metabar:ownerowner:vocabularyvocabulary:logical-heightheight
defunmetabar-test-key
key&keymodifiers
make-instance'luv:canvas-key-press-event:timestamp0:key-namekey:modifiersmodifiers
defunmetabar-test-pointer
class&key
x0.0
y0.0
button
apply#'make-instanceclass:timestamp0:xx:yy
whenbutton
list:buttonbutton:clicks1
defteststatic-metabar-prepares-live-shader-revisions
let
setf
mcluv::metabar-dirty-pframe
nil
multiple-value-bind
proberevision
ok
equal
listrevision
current-revision-preparation-probe-revisionsprobe
deftestmetabar-input-queues-and-frame-refresh-publishes-semantic-change
let*

Input has changed only retained UI state; the application is untouched.

ok
=0.5
metabar-test-gainowner
ok
=1
length
mcluv::metabar-pending-operationsframe
ok
<
abs
-0.6
metabar-test-gainowner
1.0e-6
setf
mcluv::metabar-dirty-pframe
nil
ok
not
mcluv::metabar-dirty-pframe
setf
metabar-test-gainowner
0.7
ok
mcluv::metabar-dirty-pframe
ok
not
metabar-test-enabled-powner
ok
metabar-test-enabled-powner
ok
zerop
metabar-test-actionsowner
ok
=1
metabar-test-actionsowner
ok
null
mcluv::metabar-pending-operationsframe
deftestclearing-a-quantized-preview-is-a-semantic-revision
let
setf0.5
mcluv::metabar-dirty-pframe
nil

An application may quantize a committed preview back to the value the row already cached. Removing that preview still changes the picture.

ok
mcluv::metabar-dirty-pframe
deftesta-failed-commit-clears-its-optimistic-preview
let*
setf
metabar-test-fail-set-powner
t0.9
mcluv::metabar-pending-operationsframe
list
mcluv::make-metabar-operation:kind:set-fraction:subject:gain:argument0.9
ok
=0.5
metabar-test-gainowner
ok
search"scripted metabar commit failure"
princ-to-string
mcluv::metabar-diagnosticframe
deftestmetabar-layout-is-logical-and-native-destination-resolution
let*
owner
make-instance'metabar-test-owner
logical'
1344840
drawable'
26881680
half-width
arefstate4
half-height
arefstate9
ok
<
abs
-460.0
*half-width
firstlogical
1.0e-4
ok
<
abs
-240.0
*half-height
secondlogical
1.0e-4

The same logical transform receives twice the native samples on a 2x drawable; no intermediate panel raster is resized.

ok
<
abs
-920.0
*half-width
firstdrawable
1.0e-4
ok
<
abs
-480.0
*half-height
seconddrawable
1.0e-4
multiple-value-bind
xy
ok
<
abs
-230.0x
1.0e-4
ok
<
abs
-120.0y
1.0e-4
deftestmetabar-panel-is-translucent-analytic-and-prepares-no-image
let
setf
clim:medium-inkmedium
mcluv::*metabar-panel-ink*
let
vertices
mcluv::gpu-medium-analytic-verticesmedium
semantic-commands
mcluv::gpu-medium-commandsmedium
ok
<
abs
-0.90
arefvertices2
1.0e-5
ok
=1
lengthsemantic-commands
ok
typep
arefsemantic-commands0
'mcluv::gpu-analytic-command
let*
sheet
make-instance'mcluv::metabar-pane:region
clim:make-bounding-rectangle00460240
mirror
make-instance'mcluv:luv-gpu-mirror:sheetsheet:targetnil:embedded-pt
multiple-value-bind
preparedtext-data
mcluv::prepare-gpu-frame-commandsmirrorsemantic-commands
declare
ignoretext-data
ok
=1
lengthprepared
ok
typep
firstprepared
'mcluv::gpu-analytic-command
ok
null
find-if
lambda
command
prepared