From 3d7b9c03c3be4372c0a91fb60d126f976945fb1f Mon Sep 17 00:00:00 2001 From: Sebastian Mayr Date: Sat, 18 May 2013 02:12:10 +0200 Subject: [PATCH] Add new tests, cleanup --- .gitignore | 1 + Makefile | 3 +++ package.json | 3 ++- tests/Common.js | 25 +++++++++++++++++++++++++ tests/EncodedSpec.js | 8 ++++++++ tests/FormulaSpec.js | 9 +++++++++ tests/InterviewSpec.js | 8 ++++++++ tests/IssueSpec.js | 8 ++++++++ tests/MixedSpec.js | 8 ++++++++ tests/NamedRangesSpec.js | 8 ++++++++ 10 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 tests/Common.js create mode 100644 tests/EncodedSpec.js create mode 100644 tests/FormulaSpec.js create mode 100644 tests/InterviewSpec.js create mode 100644 tests/IssueSpec.js create mode 100644 tests/MixedSpec.js create mode 100644 tests/NamedRangesSpec.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/Makefile b/Makefile index 2045f80..f54d6d4 100644 --- a/Makefile +++ b/Makefile @@ -6,3 +6,6 @@ xlsx.js: $(DEPS) .PHONY: clean clean: rm xlsx.js + +test: + npm test \ No newline at end of file diff --git a/package.json b/package.json index af8238d..6e21f65 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "jasmine-node": "x" }, "scripts": { - "test": "jasmine-node tests/" + "pretest": "git submodule init && git submodule update", + "test": "jasmine-node --verbose tests/" }, "engines": { "node": ">=0.6" } } diff --git a/tests/Common.js b/tests/Common.js new file mode 100644 index 0000000..2d28a5f --- /dev/null +++ b/tests/Common.js @@ -0,0 +1,25 @@ +var XLSX = require('../'); + +var tests = { + 'should be able to open workbook': function (file) { + var xlsx = XLSX.readFile('tests/files/' + file); + expect(xlsx).toBeTruthy(); + expect(xlsx).toEqual(jasmine.any(Object)); + }, + 'should define all api properties correctly': function (file) { + var xlsx = XLSX.readFile('tests/files/' + file); + expect(xlsx.Workbook).toEqual(jasmine.any(Object)); + expect(xlsx.Props).toBeDefined(); + expect(xlsx.Deps).toBeDefined(); + expect(xlsx.Sheets).toEqual(jasmine.any(Object)); + expect(xlsx.SheetNames).toEqual(jasmine.any(Array)); + expect(xlsx.Strings).toBeDefined(); + expect(xlsx.Styles).toBeDefined(); + } +}; + +module.exports = function (file) { + for (var key in tests) { + it(key, tests[key].bind(undefined, file)); + } +}; \ No newline at end of file diff --git a/tests/EncodedSpec.js b/tests/EncodedSpec.js new file mode 100644 index 0000000..8cb4043 --- /dev/null +++ b/tests/EncodedSpec.js @@ -0,0 +1,8 @@ +var XLSX = require('../'); +var testCommon = require('./Common.js'); + +var file = 'חישוב_נקודות_זיכוי.xlsx'; + +describe(file, function () { + testCommon(file); +}); \ No newline at end of file diff --git a/tests/FormulaSpec.js b/tests/FormulaSpec.js new file mode 100644 index 0000000..c67cfb8 --- /dev/null +++ b/tests/FormulaSpec.js @@ -0,0 +1,9 @@ +var XLSX = require('../'); +var testCommon = require('./Common.js'); + +var file = 'formula_stress_test.xlsx'; + +describe(file, function () { + // Opening the file currently crashes node + //testCommon(file); +}); \ No newline at end of file diff --git a/tests/InterviewSpec.js b/tests/InterviewSpec.js new file mode 100644 index 0000000..4ab2e5a --- /dev/null +++ b/tests/InterviewSpec.js @@ -0,0 +1,8 @@ +var XLSX = require('../'); +var testCommon = require('./Common.js'); + +var file = 'interview.xlsx'; + +describe(file, function () { + testCommon(file); +}); \ No newline at end of file diff --git a/tests/IssueSpec.js b/tests/IssueSpec.js new file mode 100644 index 0000000..cc667ae --- /dev/null +++ b/tests/IssueSpec.js @@ -0,0 +1,8 @@ +var XLSX = require('../'); +var testCommon = require('./Common.js'); + +var file = 'issue.xlsx'; + +describe(file, function () { + testCommon(file); +}); \ No newline at end of file diff --git a/tests/MixedSpec.js b/tests/MixedSpec.js new file mode 100644 index 0000000..3b119df --- /dev/null +++ b/tests/MixedSpec.js @@ -0,0 +1,8 @@ +var XLSX = require('../'); +var testCommon = require('./Common.js'); + +var file = 'mixed_sheets.xlsx'; + +describe(file, function () { + testCommon(file); +}); \ No newline at end of file diff --git a/tests/NamedRangesSpec.js b/tests/NamedRangesSpec.js new file mode 100644 index 0000000..1e41a7e --- /dev/null +++ b/tests/NamedRangesSpec.js @@ -0,0 +1,8 @@ +var XLSX = require('../'); +var testCommon = require('./Common.js'); + +var file = 'named_ranges_2011.xlsx'; + +describe(file, function () { + testCommon(file); +}); \ No newline at end of file