Author: fanningpj
Date: Tue Nov  9 19:45:03 2021
New Revision: 1894884

URL: http://svn.apache.org/viewvc?rev=1894884&view=rev
Log:
[bug-65675] add regression test

Modified:
    
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
    
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java
    
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java
    
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java

Modified: 
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java?rev=1894884&r1=1894883&r2=1894884&view=diff
==============================================================================
--- 
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
 (original)
+++ 
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
 Tue Nov  9 19:45:03 2021
@@ -41,7 +41,7 @@ import org.apache.poi.xssf.usermodel.XSS
 /**
  * A  monthly calendar created using Apache POI. Each month is on a separate 
sheet.
  * This is a version of org.apache.poi.ss.examples.CalendarDemo that 
demonstrates
- * some XSSF features not avaiable when using common HSSF-XSSF interfaces.
+ * some XSSF features not available when using common HSSF-XSSF interfaces.
  *
  * <pre>
  * Usage:

Modified: 
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java?rev=1894884&r1=1894883&r2=1894884&view=diff
==============================================================================
--- 
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java
 (original)
+++ 
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java
 Tue Nov  9 19:45:03 2021
@@ -25,7 +25,7 @@ import org.apache.poi.ss.util.CellRangeA
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 /**
- * Demonstrates various settings avaiable in the Page Setup dialog
+ * Demonstrates various settings available in the Page Setup dialog
  */
 public class WorkingWithPageSetup {
 

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java?rev=1894884&r1=1894883&r2=1894884&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java
 Tue Nov  9 19:45:03 2021
@@ -16,22 +16,22 @@
 ==================================================================== */
 package org.apache.poi.xssf.usermodel;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
+import java.io.IOException;
 import java.util.AbstractMap;
 import java.util.Map;
 
 import org.apache.poi.ss.formula.EvaluationSheet;
 import org.apache.poi.ss.usermodel.BaseTestXEvaluationSheet;
+import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.junit.jupiter.api.Test;
 
+import static org.junit.jupiter.api.Assertions.*;
+
 class TestXSSFEvaluationSheet extends BaseTestXEvaluationSheet {
 
     @Test
-    void test() throws Exception {
+    void testSheetEval() throws Exception {
         XSSFWorkbook wb = new XSSFWorkbook();
         XSSFSheet sheet = wb.createSheet("test");
         XSSFRow row = sheet.createRow(0);
@@ -61,6 +61,26 @@ class TestXSSFEvaluationSheet extends Ba
         assertEquals(sheet, evalsheet.getXSSFSheet());
     }
 
+    @Test
+    void testBug65675() throws IOException  {
+        try (XSSFWorkbook workbook = new XSSFWorkbook()) {
+            XSSFFormulaEvaluator evaluator = 
workbook.getCreationHelper().createFormulaEvaluator();
+            evaluator.setIgnoreMissingWorkbooks(true);
+
+            XSSFSheet sheet = workbook.createSheet("sheet");
+            XSSFRow row = sheet.createRow(0);
+            XSSFCell cell = row.createCell(0, CellType.FORMULA);
+
+            try {
+                
cell.setCellFormula("[some-workbook-that-does-not-yet-exist.xlsx]main!B:D");
+                //it might be better if this succeeded but just adding this 
regression test for now
+                fail("expected exception");
+            } catch (RuntimeException re) {
+                assertEquals("Book not linked for filename 
some-workbook-that-does-not-yet-exist.xlsx", re.getMessage());
+            }
+        }
+    }
+
     @Override
     protected Map.Entry<Sheet, EvaluationSheet> getInstance() {
         XSSFSheet sheet = new XSSFWorkbook().createSheet();

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java?rev=1894884&r1=1894883&r2=1894884&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java 
(original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java 
Tue Nov  9 19:45:03 2021
@@ -926,7 +926,7 @@ public final class WorkbookEvaluator {
      * Whether to ignore missing references to external workbooks and
      * use cached formula results in the main workbook instead.
      * <p>
-     * In some cases exetrnal workbooks referenced by formulas in the main 
workbook are not avaiable.
+     * In some cases external workbooks referenced by formulas in the main 
workbook are not available.
      * With this method you can control how POI handles such missing 
references:
      * <ul>
      *     <li>by default ignoreMissingWorkbooks=false and POI throws {@link 
WorkbookNotFoundException}

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java?rev=1894884&r1=1894883&r2=1894884&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java 
Tue Nov  9 19:45:03 2021
@@ -33,8 +33,8 @@ import org.apache.poi.util.LittleEndianO
 public abstract class RefPtgBase extends OperandPtg {
 
     /**
-     * YK: subclasses of RefPtgBase are used by the FormulaParser and 
FormulaEvaluator accross HSSF and XSSF.
-     * The bit mask should accommodate the maximum number of avaiable columns, 
i.e. 0x3FFF.
+     * YK: subclasses of RefPtgBase are used by the FormulaParser and 
FormulaEvaluator across HSSF and XSSF.
+     * The bit mask should accommodate the maximum number of available 
columns, i.e. 0x3FFF.
      *
      * @see org.apache.poi.ss.SpreadsheetVersion
      */

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java?rev=1894884&r1=1894883&r2=1894884&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java
 Tue Nov  9 19:45:03 2021
@@ -46,4 +46,5 @@ public abstract class BaseTestXEvaluatio
         underlyingSheet.removeRow(underlyingSheet.getRow(2));
         assertEquals(1, instance.getLastRowNum());
     }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to