Add tests for range of colors (new API)

This commit is contained in:
David Capello 2019-08-10 14:05:18 -03:00
parent 7dad69e310
commit 82958681d1
2 changed files with 90 additions and 0 deletions

View File

@ -447,3 +447,38 @@ do -- ConvolutionMatrix
v, w, v,
u, v, u })
end
-- MoveColors and CopyColors
do
local s = Sprite(32, 32, ColorMode.INDEXED)
local p = Palette(4)
p:setColor(0, Color(0, 0, 0))
p:setColor(1, Color(255, 0, 0))
p:setColor(2, Color(0, 255, 0))
p:setColor(3, Color(0, 0, 255))
s:setPalette(p)
assert(#app.range.colors == 0)
app.range.colors = { 0, 2 }
assert(#app.range.colors == 2)
assert(app.range.colors[1] == 0)
assert(app.range.colors[2] == 2)
app.command.MoveColors{ before=0 }
p = s.palettes[1]
p:setColor(0, Color(0, 0, 0))
p:setColor(1, Color(0, 255, 0))
p:setColor(2, Color(255, 0, 0))
p:setColor(3, Color(0, 0, 255))
app.range.colors = { 0, 1 }
assert(#app.range.colors == 2)
assert(app.range.colors[1] == 0)
assert(app.range.colors[2] == 1)
app.command.CopyColors{ before=4 }
p = s.palettes[1]
p:setColor(0, Color(0, 0, 0))
p:setColor(1, Color(0, 255, 0))
p:setColor(2, Color(255, 0, 0))
p:setColor(3, Color(0, 0, 255))
p:setColor(4, Color(0, 0, 0))
p:setColor(5, Color(0, 255, 0))
end

55
scripts/range.lua Normal file
View File

@ -0,0 +1,55 @@
-- Copyright (C) 2019 Igara Studio S.A.
--
-- This file is released under the terms of the MIT license.
-- Read LICENSE.txt for more information.
do
-- Three layers
local s = Sprite(32, 32)
assert(#s.layers == 1)
app.activeCel = s.cels[1]
local r = app.range
assert(#r.layers == 1)
assert(#r.frames == 1)
assert(#r.cels == 1)
assert(r.layers[1] == s.layers[1])
assert(r.frames[1] == s.frames[1])
assert(r.cels[1] == s.cels[1])
s:newLayer()
assert(#s.layers == 2)
local r = app.range
assert(#r.layers == 1)
assert(#r.frames == 1)
assert(#r.cels == 0)
assert(r.layers[1] == s.layers[2])
assert(r.frames[1] == s.frames[1])
end
do
assert(#app.range.colors == 0)
app.range.colors = { 2 }
assert(#app.range.colors == 1)
assert(app.range.colors[1] == 2)
app.range.colors = { 1, 4 }
assert(#app.range.colors == 2)
assert(app.range.colors[1] == 1)
assert(app.range.colors[2] == 4)
app.range.colors = { 5, 2, 10, 8, 0 }
assert(#app.range.colors == 5)
-- app.range.colors are always sorted by color index
assert(app.range.colors[1] == 0)
assert(app.range.colors[2] == 2)
assert(app.range.colors[3] == 5)
assert(app.range.colors[4] == 8)
assert(app.range.colors[5] == 10)
assert(app.range:containsColor(0))
assert(not app.range:containsColor(1))
assert(app.range:containsColor(2))
assert(app.range:containsColor(5))
assert(app.range:containsColor(8))
assert(app.range:containsColor(10))
end