return null;
}
for(byte c : rgb) {
- int i = (int)c;
- if(i < 0) {
- i += 256;
- }
+ int i = c & 0xff;
String cs = Integer.toHexString(i);
if(cs.length() == 1) {
sb.append('0');
package org.apache.poi.xssf.usermodel;\r
\r
import org.apache.poi.ss.usermodel.BaseTestConditionalFormatting;\r
+import org.apache.poi.ss.usermodel.Color;\r
import org.apache.poi.xssf.XSSFITestDataProvider;\r
\r
/**\r
super(XSSFITestDataProvider.instance);\r
}\r
\r
+ protected void assertColour(String hexExpected, Color actual) {\r
+ assertNotNull("Colour must be given", actual);\r
+ XSSFColor colour = (XSSFColor)actual;\r
+ if (hexExpected.length() == 8) {\r
+ assertEquals(hexExpected, colour.getARGBHex());\r
+ } else {\r
+ assertEquals(hexExpected, colour.getARGBHex().substring(2));\r
+ }\r
+ }\r
+\r
public void testRead(){\r
testRead("WithConditionalFormatting.xlsx");\r
}\r
import java.io.IOException;
import org.apache.poi.hssf.HSSFITestDataProvider;
+import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.BaseTestConditionalFormatting;
+import org.apache.poi.ss.usermodel.Color;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.SheetConditionalFormatting;
import org.apache.poi.ss.usermodel.Workbook;
public TestHSSFConditionalFormatting(){
super(HSSFITestDataProvider.instance);
}
+ protected void assertColour(String hexExpected, Color actual) {
+ assertNotNull("Colour must be given", actual);
+ HSSFColor colour = (HSSFColor)actual;
+ assertEquals(hexExpected, colour.getHexString());
+ }
public void testRead() {
testRead("WithConditionalFormatting.xls");
public BaseTestConditionalFormatting(ITestDataProvider testDataProvider){\r
_testDataProvider = testDataProvider;\r
}\r
+ \r
+ protected abstract void assertColour(String hexExpected, Color actual);\r
\r
public void testBasic() {\r
Workbook wb = _testDataProvider.createWorkbook();\r
assertEquals(ComparisonOperator.GT, cr.getComparisonOperation());\r
assertEquals("0", cr.getFormula1());\r
assertEquals(null, cr.getFormula2());\r
-// assertColourGreen(cr);\r
- // TODO Colour checking\r
+ // TODO Should the colours be slightly different like this?\r
+ if (cr instanceof HSSFConditionalFormattingRule) {\r
+ assertColour("CCCC:FFFF:CCCC", cr.getPatternFormatting().getFillBackgroundColorColor());\r
+ } else {\r
+ assertColour("C6EFCE", cr.getPatternFormatting().getFillBackgroundColorColor());\r
+ }\r
\r
\r
// Highlight 10-30 - Column D\r