mirror of
https://github.com/ONLYOFFICE/sdkjs.git
synced 2026-04-07 14:09:12 +08:00
[se] Added wb-dependencies-tests (#1189)
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/sdkjs/pulls/1189 Co-authored-by: Dmitriy Orlov <dmitriy.orlov@onlyoffice.com> Co-committed-by: Dmitriy Orlov <dmitriy.orlov@onlyoffice.com>
This commit is contained in:
committed by
Igor Zotov
parent
ae0380853c
commit
cfbc652ee4
@ -7722,8 +7722,8 @@ $(function () {
|
||||
flags.ctrlKey = false;
|
||||
flags.shiftKey = false;
|
||||
|
||||
// set selection A1
|
||||
fillRange = ws.getRange2("A1");
|
||||
// set selection C1
|
||||
fillRange = ws.getRange2("C10");
|
||||
wsView.setSelection(fillRange.bbox);
|
||||
wsView._initRowsCount();
|
||||
wsView._initColsCount();
|
||||
@ -7735,6 +7735,8 @@ $(function () {
|
||||
let sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
let defNameListeners = dependencyFormulas.defNameListeners;
|
||||
|
||||
// set values and props for table
|
||||
ws.getRange2("A1:D3").setValue("1");
|
||||
let tableProp = AscCommonExcel.AddFormatTableOptions();
|
||||
tableProp.asc_setRange("A1:D3");
|
||||
tableProp.asc_setIsTitle(false);
|
||||
@ -7753,17 +7755,25 @@ $(function () {
|
||||
|
||||
let fragment = ws.getRange2("C10").getValueForEdit2();
|
||||
let resCell = ws.getRange2("C10");
|
||||
|
||||
// Table
|
||||
// Table link without headers
|
||||
ws.getRange2("C10").setValue("=SUM("+tableName+")");
|
||||
fragment[0].setFragmentText("=SUM("+tableName+")");
|
||||
// resCell = ws.getRange2("C10");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "12", "Value in C10 after =SUM(tableName) calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=SUM("+tableName+")", "Formula in C10 after =SUM(tableName) calculate");
|
||||
// ws.getRange2("C10").setValue("=SUM("+tableName+")");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value =SUM(tableName)");
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap["A2:D4"].listeners).length, 1, "A2:D4(Table) listeners after set value =SUM(tableName)");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value =SUM(tableName)");
|
||||
|
||||
// delete formula
|
||||
ws.getRange2("C10").setValue("22");
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =22 calculate(remove =SUM(table)");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =22 calculate(remove =SUM(table)");
|
||||
// ws.getRange2("C10").setValue("22");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value =SUM(tableName)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value =SUM(tableName)");
|
||||
@ -7772,14 +7782,22 @@ $(function () {
|
||||
|
||||
// Table[#All]
|
||||
// Table link with headers
|
||||
ws.getRange2("C10").setValue("=SUM("+tableName+"[#All])");
|
||||
fragment[0].setFragmentText("=SUM("+tableName+"[#All])");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "12", "Value in C10 after =SUM("+tableName+"[#All]) calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=SUM("+tableName+"[#All])", "Formula in C10 after =SUM("+tableName+"[#All]) calculate");
|
||||
// ws.getRange2("C10").setValue("=SUM("+tableName+"[#All])");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after set value =SUM(tableName#All)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value =SUM(tableName#All)");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 1, "DefNameListeners after set value =SUM(tableName#All)");
|
||||
|
||||
// delete formula
|
||||
ws.getRange2("C10").setValue("22");
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =22 calculate(remove =SUM(table[#All])");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =22 calculate(remove =SUM(table[#All])");
|
||||
// ws.getRange2("C10").setValue("22");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value =SUM(tableName#All)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value =SUM(tableName#All)");
|
||||
@ -7788,7 +7806,11 @@ $(function () {
|
||||
|
||||
// Table[Column1]
|
||||
// Table columns link without headers
|
||||
ws.getRange2("C10").setValue("=SUM("+tableName+"[Column1])");
|
||||
fragment[0].setFragmentText("=SUM("+tableName+"[Column1])");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "3", "Value in C10 after =SUM("+tableName+"[Column1]) calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=SUM("+tableName+"[Column1])", "Formula in C10 after =SUM("+tableName+"[Column1]) calculate");
|
||||
// ws.getRange2("C10").setValue("=SUM("+tableName+"[Column1])");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value =SUM(Column1)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value =SUM(Column1)");
|
||||
@ -7797,7 +7819,11 @@ $(function () {
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value =SUM(Column1)");
|
||||
|
||||
// delete formula
|
||||
ws.getRange2("C10").setValue("22");
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =SUM("+tableName+"[Column1]) delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =SUM("+tableName+"[Column1]) delete");
|
||||
// ws.getRange2("C10").setValue("22");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value =SUM(Column1)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value =SUM(Column1)");
|
||||
@ -7807,7 +7833,11 @@ $(function () {
|
||||
|
||||
// Table[[Column1]:[Column2]]
|
||||
// Table columns link without headers
|
||||
ws.getRange2("C10").setValue("=SUM("+tableName+"[[Column1]:[Column2]])");
|
||||
fragment[0].setFragmentText("=SUM("+tableName+"[[Column1]:[Column2]])");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "6", "Value in C10 after =SUM("+tableName+"[[Column1]:[Column2]]) calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=SUM("+tableName+"[[Column1]:[Column2]])", "Formula in C10 after =SUM("+tableName+"[[Column1]:[Column2]]) calculate");
|
||||
// ws.getRange2("C10").setValue("=SUM("+tableName+"[[Column1]:[Column2]])");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value SUM(Table[Col1]:[Col2])");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value SUM(Table[Col1]:[Col2]");
|
||||
@ -7817,7 +7847,11 @@ $(function () {
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value SUM(Table[Col1]:[Col2]");
|
||||
|
||||
// delete formula
|
||||
ws.getRange2("C10").setValue("22");
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =SUM("+tableName+"[[Column1]:[Column2]]) delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =SUM("+tableName+"[[Column1]:[Column2]]) delete");
|
||||
// ws.getRange2("C10").setValue("22");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value SUM(Table[Col1]:[Col2])");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value SUM(Table[Col1]:[Col2])");
|
||||
@ -7828,7 +7862,11 @@ $(function () {
|
||||
|
||||
// Table[[#All],[Column1]]
|
||||
// Table columns link with headers
|
||||
ws.getRange2("C10").setValue("=SUM("+tableName+"[[#All],[Column1]])");
|
||||
fragment[0].setFragmentText("=SUM("+tableName+"[[#All],[Column1]])");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "3", "Value in C10 after =SUM("+tableName+"[[#All],[Column1]]) calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=SUM("+tableName+"[[#All],[Column1]])", "Formula in C10 after =SUM("+tableName+"[[#All],[Column1]]) calculate");
|
||||
// ws.getRange2("C10").setValue("=SUM("+tableName+"[[#All],[Column1]])");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value SUM(tableName#All,Col1)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value SUM(tableName#All,Col1)");
|
||||
@ -7838,7 +7876,11 @@ $(function () {
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value SUM(tableName#All,Col1)");
|
||||
|
||||
// delete formula
|
||||
ws.getRange2("C10").setValue("22");
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =SUM("+tableName+"[[#All],[Column1]]) delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =SUM("+tableName+"[[#All],[Column1]]) delete");
|
||||
// ws.getRange2("C10").setValue("22");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value SUM(tableName#All,Col1)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value SUM(tableName#All,Col1)");
|
||||
@ -7849,7 +7891,11 @@ $(function () {
|
||||
|
||||
// Table[[#All],[Column1]:[Column2]]
|
||||
// Table columns link with headers
|
||||
ws.getRange2("C10").setValue("=SUM("+tableName+"[[#All],[Column1]:[Column2]])");
|
||||
fragment[0].setFragmentText("=SUM("+tableName+"[[#All],[Column1]:[Column2]])");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "6", "Value in C10 after =SUM("+tableName+"[[#All],[Column1]:[Column2]]) calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=SUM("+tableName+"[[#All],[Column1]:[Column2]])", "Formula in C10 after =SUM("+tableName+"[[#All],[Column1]:[Column2]]) calculate");
|
||||
// ws.getRange2("C10").setValue("=SUM("+tableName+"[[#All],[Column1]:[Column2]])");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value SUM(tableName#All,Col1:Col2)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value SUM(tableName#All,Col1:Col2)");
|
||||
@ -7860,7 +7906,11 @@ $(function () {
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value SUM(tableName#All,Col1:Col2)");
|
||||
|
||||
// delete formula
|
||||
ws.getRange2("C10").setValue("22");
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =SUM("+tableName+"[[#All],[Column1]:[Column2]]) delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =SUM("+tableName+"[[#All],[Column1]:[Column2]]) delete");
|
||||
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value SUM(tableName#All,Col1)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value SUM(tableName#All,Col1)");
|
||||
@ -7869,6 +7919,164 @@ $(function () {
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A1:B4"], undefined, "A1:B4(Columns) listeners after delete value SUM(tableName#All,Col1)");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after delete value SUM(tableName#All,Col1)");
|
||||
|
||||
|
||||
fragment[0].setFragmentText("=SUM("+tableName + "[[#All],[Column1]:[Column4]])");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "12", "Value in C10 after =SUM("+tableName + "[[#All],[Column1]:[Column4]]) calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=SUM("+tableName + "[[#All],[Column1]:[Column4]])", "Formula in C10 after =SUM("+tableName + "[[#All],[Column1]:[Column4]]) calculate");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value SUM(tableName#All,Col1:Col4)");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A1:D4"] !== undefined, true, "A1:D4(Columns) listeners after set value SUM(tableName#All,Col1:Col4)");
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap["A1:D4"].listeners).length, 1, "A1:D4(Columns) listeners after set value SUM(tableName#All,Col1:Col4)");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value SUM(tableName#All,Col1:Col4)");
|
||||
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after tableName[[#All],[Column1]:[Column4]] delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after tableName[[#All],[Column1]:[Column4]] delete");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A1:D4"], undefined, "A1:D4(Columns) listeners after delete value tableName#All,Col1")
|
||||
|
||||
|
||||
flags.ctrlKey = true;
|
||||
flags.shiftKey = true;
|
||||
fragment[0].setFragmentText("="+tableName);
|
||||
fillRange = ws.getRange2("C10:G14");
|
||||
wsView.setSelection(fillRange.bbox);
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "1", "Value in C10 after tableName calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName, "Formula in C10 after tableName calculate");
|
||||
resCell = ws.getRange2("C11");
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "1", "Value in C11 after tableName calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName, "Formula in C11 after tableName calculate");
|
||||
resCell = ws.getRange2("C12");
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "1", "Value in C12 after tableName calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName, "Formula in C12 after tableName calculate");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value tableName");
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap["A2:D4"].listeners).length, 1, "A2:D4(Table) listeners after set value tableName");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value tableName");
|
||||
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =22 calculate(remove table)");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =22 calculate(remove table)");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value tableName");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value tableName");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after delete value tableName");
|
||||
|
||||
fragment[0].setFragmentText("="+tableName + "[#All]");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
resCell = ws.getRange2("C10");
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "Column1", "Value in C10 after tableName[#All] calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName + "[#All]", "Formula in C10 after tableName[#All] calculate");
|
||||
resCell = ws.getRange2("C11");
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "1", "Value in C11 after tableName[#All] calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName + "[#All]", "Formula in C11 after tableName[#All] calculate");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after set value tableName#All");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value tableName#All");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 1, "DefNameListeners after set value tableName#All");
|
||||
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
resCell = ws.getRange2("C10");
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after =22 calculate(remove table[#All])");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after =22 calculate(remove table[#All])");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value tableName#All");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value tableName#All");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after delete value tableName#All");
|
||||
|
||||
fragment[0].setFragmentText("="+tableName + "[Column1]");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "1", "Value in C10 after tableName[Column1] calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName + "[Column1]", "Formula in C10 after tableName[Column1] calculate");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value Column1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value Column1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:A4"] !== undefined, true, "A2:A4(Column) listeners after set value Column1");
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap["A2:A4"].listeners).length, 1, "A2:A4(Column) listeners after set value Column1");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value Column1");
|
||||
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after tableName[Column1] delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after tableName[Column1] delete");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value Column1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value Column1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:A4"], undefined, "A2:A4(Column) listeners after delete value Column1");
|
||||
|
||||
fragment[0].setFragmentText("="+tableName + "[[Column1]:[Column2]]");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "1", "Value in C10 after tableName[[Column1]:[Column2]] calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName + "[[Column1]:[Column2]]", "Formula in C10 after tableName[[Column1]:[Column2]] calculate");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:A4"], undefined, "A2:A4(Column) listeners after set value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:B4"] !== undefined, true, "A2:B4(Columns) listeners after set value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap["A2:B4"].listeners).length, 1, "A2:B4(Columns) listeners after set value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value Table[Col1]:[Col2]");
|
||||
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after tableName[[Column1]:[Column2]] delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after tableName[[Column1]:[Column2]] delete");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after delete value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:A4"], undefined, "A2:A4(Column) listeners after delete value Table[Col1]:[Col2]");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:B4"], undefined, "A2:B4(Columns) listeners after delete value Table[Col1]:[Col2]");
|
||||
|
||||
fragment[0].setFragmentText("="+tableName + "[[#All],[Column1]]");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
resCell = ws.getRange2("C10");
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "Column1", "Value in C10 after tableName[[#All],[Column1]] calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName + "[[#All],[Column1]]", "Formula in C10 after tableName[[#All],[Column1]] calculate");
|
||||
resCell = ws.getRange2("C11");
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "1", "Value in C11 after tableName[[#All],[Column1]] calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName + "[[#All],[Column1]]", "Formula in C10 after tableName[[#All],[Column1]] calculate");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value tableName#All,Col1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:D4"], undefined, "A2:D4(Table) listeners after set value tableName#All,Col1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A2:A4"], undefined, "A2:A4(Column) listeners after set value tableName#All,Col1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A1:A4"] !== undefined, true, "A1:A4(Column) listeners after set value tableName#All,Col1");
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap["A1:A4"].listeners).length, 1, "A1:A4(Column) listeners after set value tableName#All,Col1");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value tableName#All,Col1");
|
||||
|
||||
resCell = ws.getRange2("C10");
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after tableName[[#All],[Column1]] delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after tableName[[#All],[Column1]] delete");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 1, "AreaMap listeners after delete value tableName#All,Col1");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A1:A4"], undefined, "A1:A4(Column) listeners after delete value tableName#All,Col1");
|
||||
|
||||
fragment[0].setFragmentText("="+tableName + "[[#All],[Column1]:[Column2]]");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "Column1", "Value in C10 after tableName[[#All],[Column1]:[Column2]] calculate");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "="+tableName + "[[#All],[Column1]:[Column2]]", "Formula in C10 after tableName[[#All],[Column1]:[Column2]] calculate");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap).length, 2, "AreaMap listeners after set value tableName#All,Col1:Col2");
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A1:B4"] !== undefined, true, "A1:B4(Columns) listeners after set value tableName#All,Col1:Col2");
|
||||
assert.strictEqual(sheetListeners.areaMap && Object.keys(sheetListeners.areaMap["A1:B4"].listeners).length, 1, "A1:B4(Columns) listeners after set value tableName#All,Col1:Col2");
|
||||
assert.strictEqual(sheetListeners && sheetListeners.areaMap && Object.keys(defNameListeners).length, 0, "DefNameListeners after set value tableName#All,Col1:Col2");
|
||||
|
||||
fragment[0].setFragmentText("=22");
|
||||
wsView._saveCellValueAfterEdit(fillRange, fragment, flags, null, null);
|
||||
assert.strictEqual(resCell.getValueWithFormat(), "22", "Value in C10 after tableName[[#All],[Column1]:[Column2]] delete");
|
||||
assert.strictEqual(resCell.getValueForEdit(), "=22", "Formula in C10 after tableName[[#All],[Column1]:[Column2]] delete");
|
||||
sheetListeners = dependencyFormulas.sheetListeners[wsID];
|
||||
assert.strictEqual(sheetListeners.areaMap && sheetListeners.areaMap["A1:B4"], undefined, "A1:B4(Columns) listeners after delete value tableName#All,Col1");
|
||||
|
||||
flags.ctrlKey = false;
|
||||
flags.shiftKey = false;
|
||||
|
||||
|
||||
// remove tables
|
||||
tables.length = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user