mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-30 04:20:23 +00:00
Add tests for range of colors (new API)
This commit is contained in:
parent
7dad69e310
commit
82958681d1
@ -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
55
scripts/range.lua
Normal 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
|
Loading…
x
Reference in New Issue
Block a user