Patch from Javen ONeal from bug #58254 - CellFormatResult.text should check for nulls as per the javadoc

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1696638 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-08-19 18:00:31 +00:00
parent c275dea88c
commit cd988b9c2e
2 changed files with 41 additions and 2 deletions

View File

@ -16,7 +16,7 @@
==================================================================== */ ==================================================================== */
package org.apache.poi.ss.format; package org.apache.poi.ss.format;
import java.awt.*; import java.awt.Color;
/** /**
* This object contains the result of applying a cell format or cell format part * This object contains the result of applying a cell format or cell format part
@ -50,8 +50,10 @@ public class CellFormatResult {
* @param text The value for {@link #text}. * @param text The value for {@link #text}.
* @param textColor The value for {@link #textColor}. * @param textColor The value for {@link #textColor}.
*/ */
public CellFormatResult(boolean applies, String text, Color textColor) { public CellFormatResult(boolean applies, String text, Color textColor) throws IllegalArgumentException {
this.applies = applies; this.applies = applies;
if (text == null)
throw new IllegalArgumentException("CellFormatResult text may not be null");
this.text = text; this.text = text;
this.textColor = (applies ? textColor : null); this.textColor = (applies ? textColor : null);
} }

View File

@ -0,0 +1,37 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
package org.apache.poi.ss.format;
import java.awt.Color;
import junit.framework.TestCase;
public class TestCellFormatResult extends TestCase {
public void testNullTextRaisesException() {
try {
final boolean applies = true;
final String text = null;
final Color textColor = Color.BLACK;
final CellFormatResult result = new CellFormatResult(applies, text, textColor);
fail("Cannot initialize CellFormatResult with null text parameter");
}
catch (IllegalArgumentException e) {
//Expected
}
}
}