@@ -1616,6 +1616,60 @@ TEST(ValueTest, ToString)
16161616 free (s);
16171617}
16181618
1619+ TEST (ValueTest, ToRgba)
1620+ {
1621+ Value v = " #ff0000" ;
1622+ ASSERT_EQ (v.toRgba (), rgba (255 , 0 , 0 , 255 ));
1623+
1624+ v = " #00ff00" ;
1625+ ASSERT_EQ (v.toRgba (), rgba (0 , 255 , 0 , 255 ));
1626+
1627+ v = " #0000ff" ;
1628+ ASSERT_EQ (v.toRgba (), rgba (0 , 0 , 255 , 255 ));
1629+
1630+ v = " #800000" ;
1631+ ASSERT_EQ (v.toRgba (), rgba (128 , 0 , 0 , 255 ));
1632+
1633+ v = " #008000" ;
1634+ ASSERT_EQ (v.toRgba (), rgba (0 , 128 , 0 , 255 ));
1635+
1636+ v = " #000080" ;
1637+ ASSERT_EQ (v.toRgba (), rgba (0 , 0 , 128 , 255 ));
1638+
1639+ v = " #FF0080FF" ;
1640+ ASSERT_EQ (v.toRgba (), rgba (0 , 0 , 0 , 255 ));
1641+
1642+ v = " #abc" ;
1643+ ASSERT_EQ (v.toRgba (), rgba (170 , 187 , 204 , 255 ));
1644+
1645+ v = " 00ff00" ;
1646+ ASSERT_EQ (v.toRgba (), 0 );
1647+
1648+ v = " 123" ;
1649+ ASSERT_EQ (v.toRgba (), 123 );
1650+
1651+ v = " #12345" ;
1652+ ASSERT_EQ (v.toRgba (), rgba (0 , 0 , 0 , 255 ));
1653+
1654+ v = " " ;
1655+ ASSERT_EQ (v.toRgba (), rgba (0 , 0 , 0 , 255 ));
1656+
1657+ v = " #gggggg" ;
1658+ ASSERT_EQ (v.toRgba (), rgba (0 , 0 , 0 , 255 ));
1659+
1660+ v = 2164195583 ;
1661+ ASSERT_EQ (v.toRgba (), 2164195583 );
1662+
1663+ v = 0 ;
1664+ ASSERT_EQ (v.toRgba (), 0 );
1665+
1666+ v = true ;
1667+ ASSERT_EQ (v.toRgba (), 1 );
1668+
1669+ v = false ;
1670+ ASSERT_EQ (v.toRgba (), 0 );
1671+ }
1672+
16191673TEST (ValueTest, AddFunction)
16201674{
16211675 Value v = 50 ;
@@ -3121,3 +3175,39 @@ TEST(ValueTest, StringToBool)
31213175 ASSERT_TRUE (value_stringToBool (" 0b100112001" ));
31223176 ASSERT_TRUE (value_stringToBool (" 0b10011001.1" ));
31233177}
3178+
3179+ TEST (ValueTest, RedComponent)
3180+ {
3181+ Rgb color = rgba (255 , 100 , 50 , 255 );
3182+ ASSERT_EQ (red (color), 255 );
3183+ }
3184+
3185+ TEST (ValueTest, GreenComponent)
3186+ {
3187+ Rgb color = rgba (255 , 100 , 50 , 255 );
3188+ ASSERT_EQ (green (color), 100 );
3189+ }
3190+
3191+ TEST (ValueTest, BlueComponent)
3192+ {
3193+ Rgb color = rgba (255 , 100 , 50 , 255 );
3194+ ASSERT_EQ (blue (color), 50 );
3195+ }
3196+
3197+ TEST (ValueTest, AlphaComponent)
3198+ {
3199+ Rgb color = rgba (255 , 100 , 50 , 128 );
3200+ ASSERT_EQ (alpha (color), 128 );
3201+ }
3202+
3203+ TEST (ValueTest, RGB )
3204+ {
3205+ Rgb color = rgb (255 , 100 , 50 );
3206+ ASSERT_EQ (color, 0xFFFF6432 );
3207+ }
3208+
3209+ TEST (ValueTest, RGBA )
3210+ {
3211+ Rgb color = rgba (255 , 100 , 50 , 128 );
3212+ ASSERT_EQ (color, 0x80FF6432 );
3213+ }
0 commit comments