@microsoft/connected-workbooks
Version:
Microsoft backed, Excel advanced xlsx workbook generation JavaScript library
65 lines (64 loc) • 4.09 kB
JavaScript
;
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
Object.defineProperty(exports, "__esModule", { value: true });
var types_1 = require("../src/types");
var utils_1 = require("../src/utils");
var constants_1 = require("../src/utils/constants");
describe("Document Utils tests", function () {
test("ResolveType date not supported success", function () {
expect(utils_1.documentUtils.resolveType("5-4-2023 00:00", false)).toEqual(types_1.DataTypes.string);
});
test("ResolveType string success", function () {
expect(utils_1.documentUtils.resolveType("sTrIng", false)).toEqual(types_1.DataTypes.string);
expect(utils_1.documentUtils.resolveType("True", false)).toEqual(types_1.DataTypes.string);
expect(utils_1.documentUtils.resolveType("False", false)).toEqual(types_1.DataTypes.string);
expect(utils_1.documentUtils.resolveType(" ", false)).toEqual(types_1.DataTypes.string);
});
test("ResolveType boolean success", function () {
expect(utils_1.documentUtils.resolveType("true", false)).toEqual(types_1.DataTypes.boolean);
expect(utils_1.documentUtils.resolveType(" true", false)).toEqual(types_1.DataTypes.boolean);
expect(utils_1.documentUtils.resolveType("false", false)).toEqual(types_1.DataTypes.boolean);
expect(utils_1.documentUtils.resolveType(" false", false)).toEqual(types_1.DataTypes.boolean);
});
test("ResolveType number success", function () {
expect(utils_1.documentUtils.resolveType("100000", false)).toEqual(types_1.DataTypes.number);
expect(utils_1.documentUtils.resolveType("1000.00", false)).toEqual(types_1.DataTypes.number);
expect(utils_1.documentUtils.resolveType("1000.50", false)).toEqual(types_1.DataTypes.number);
expect(utils_1.documentUtils.resolveType("1000.50", false)).toEqual(types_1.DataTypes.number);
expect(utils_1.documentUtils.resolveType("1.23450", false)).toEqual(types_1.DataTypes.number);
expect(utils_1.documentUtils.resolveType("1.23.4.50", false)).toEqual(types_1.DataTypes.string);
});
test("ResolveType header row success", function () {
expect(utils_1.documentUtils.resolveType("100000", true)).toEqual(types_1.DataTypes.string);
expect(utils_1.documentUtils.resolveType("true", true)).toEqual(types_1.DataTypes.string);
expect(utils_1.documentUtils.resolveType("string", true)).toEqual(types_1.DataTypes.string);
});
test("Cell Data Element preserves spaces", function () {
var doc = document.implementation.createDocument("", "", null);
var cell = doc.createElementNS("", constants_1.element.kindCell);
var cellData = doc.createElementNS("", constants_1.element.cellValue);
utils_1.documentUtils.updateCellData(" ", cell, cellData, false);
expect(cellData.getAttribute("xml:space")).toEqual("preserve");
cellData.removeAttribute("xml:space");
utils_1.documentUtils.updateCellData("a ", cell, cellData, false);
expect(cellData.getAttribute("xml:space")).toEqual("preserve");
cellData.removeAttribute("xml:space");
utils_1.documentUtils.updateCellData(" a", cell, cellData, false);
expect(cellData.getAttribute("xml:space")).toEqual("preserve");
cellData.removeAttribute("xml:space");
utils_1.documentUtils.updateCellData("a a", cell, cellData, false);
expect(cellData.getAttribute("xml:space")).toBeNull();
});
test("Test convert column number To Excel Column", function () {
expect(utils_1.documentUtils.convertToExcelColumn(0)).toEqual("A");
expect(utils_1.documentUtils.convertToExcelColumn(701)).toEqual("ZZ");
expect(utils_1.documentUtils.convertToExcelColumn(16383)).toEqual("XFD");
try {
utils_1.documentUtils.convertToExcelColumn(16384);
}
catch (e) {
expect(e.message).toEqual("Column index out of range");
}
});
});