UNPKG

@microsoft/connected-workbooks

Version:

Microsoft backed, Excel advanced xlsx workbook generation JavaScript library

65 lines (64 loc) 4.09 kB
"use strict"; // 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"); } }); });