Make automated FSCommand invocation tests show player-side output.
[gnash.git] / testsuite / libcore.all / CxFormTest.cpp
blob4c71fbfa0159d6260bfc6dc681f89d2b356be8ff
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 // Free Software Foundation, Inc
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 #ifdef HAVE_CONFIG_H
20 #include "gnashconfig.h"
21 #endif
23 #include "log.h"
25 #include <iostream>
26 #include <sstream>
27 #include <cassert>
28 #include <cmath>
29 #include <string>
31 #include "check.h"
32 #include "SWFCxForm.h"
34 int main()
36 gnash::SWFCxForm c;
38 // A default constructed CxForm must be:
39 // 256, 256, 256, 256, 0, 0, 0, 0.
40 check_equals(c.ra, 256);
41 check_equals(c.ba, 256);
42 check_equals(c.ga, 256);
43 check_equals(c.aa, 256);
44 check_equals(c.rb, 0);
45 check_equals(c.bb, 0);
46 check_equals(c.gb, 0);
47 check_equals(c.ab, 0);
49 std::uint8_t r = 0;
50 std::uint8_t b = 0;
51 std::uint8_t g = 0;
52 std::uint8_t a = 0;
54 c.transform(r, b, g, a);
55 check_equals(r, 0);
56 check_equals(b, 0);
57 check_equals(g, 0);
58 check_equals(a, 0);
60 r = 255;
61 b = 255;
62 g = 0;
63 a = 0;
65 c.transform(r, b, g, a);
66 check_equals(+r, 255);
67 check_equals(+b, 255);
68 check_equals(+g, 0);
69 check_equals(+a, 0);
71 c.rb = 30000;
72 c.gb = -30000;
74 r = 255;
75 b = 255;
76 g = 0;
77 a = 0;
79 c.transform(r, b, g, a);
80 check_equals(+r, 255);
81 check_equals(+b, 0);
82 check_equals(+g, 0);
83 check_equals(+a, 0);
85 c.ba = 30000;
86 c.aa = -30000;
88 r = 255;
89 b = 100;
90 g = 1;
91 a = 60;
93 c.transform(r, b, g, a);
94 check_equals(+r, 255);
95 check_equals(+b, 0);
96 check_equals(+g, 117);
97 check_equals(+a, 0);
98 return 0;