forked from sheetjs/sheetjs
Windows build (fixes #589 h/t @simon-p-r)
run `make help` for more info
This commit is contained in:
parent
0fd11047bb
commit
83ec60688f
17
README.md
17
README.md
@ -1540,15 +1540,24 @@ The included `make.cmd` script will build `xlsx.js` from the `bits` directory.
|
||||
Building is as simple as:
|
||||
|
||||
```cmd
|
||||
> make.cmd
|
||||
> make
|
||||
```
|
||||
|
||||
To prepare dev environment:
|
||||
|
||||
```cmd
|
||||
> npm install -g mocha
|
||||
> npm install
|
||||
> mocha -t 30000
|
||||
> make init
|
||||
```
|
||||
|
||||
The full list of commands available in Windows are displayed in `make help`:
|
||||
|
||||
```
|
||||
make init -- install deps and global modules
|
||||
make lint -- run eslint linter
|
||||
make test -- run mocha test suite
|
||||
make misc -- run smaller test suite
|
||||
make book -- rebuild README and summary
|
||||
make help -- display this message
|
||||
```
|
||||
|
||||
The normal approach uses a variety of command line tools to grab the test files.
|
||||
|
@ -26,15 +26,24 @@ The included `make.cmd` script will build `xlsx.js` from the `bits` directory.
|
||||
Building is as simple as:
|
||||
|
||||
```cmd
|
||||
> make.cmd
|
||||
> make
|
||||
```
|
||||
|
||||
To prepare dev environment:
|
||||
|
||||
```cmd
|
||||
> npm install -g mocha
|
||||
> npm install
|
||||
> mocha -t 30000
|
||||
> make init
|
||||
```
|
||||
|
||||
The full list of commands available in Windows are displayed in `make help`:
|
||||
|
||||
```
|
||||
make init -- install deps and global modules
|
||||
make lint -- run eslint linter
|
||||
make test -- run mocha test suite
|
||||
make misc -- run smaller test suite
|
||||
make book -- rebuild README and summary
|
||||
make help -- display this message
|
||||
```
|
||||
|
||||
The normal approach uses a variety of command line tools to grab the test files.
|
||||
|
32
make.cmd
32
make.cmd
@ -1,2 +1,30 @@
|
||||
type bits\* > xlsx.flow.js
|
||||
node misc\strip_flow.js > xlsx.js
|
||||
@echo off
|
||||
REM vim: set ts=2:
|
||||
|
||||
if "%1" == "help" (
|
||||
echo make init -- install deps and global modules
|
||||
echo make lint -- run eslint linter
|
||||
echo make test -- run mocha test suite
|
||||
echo remember to download the test_files release!
|
||||
echo make misc -- run smaller test suite
|
||||
echo make book -- rebuild README and summary
|
||||
echo make help -- display this message
|
||||
) else if "%1" == "init" (
|
||||
npm install
|
||||
npm install -g eslint eslint-plugin-html eslint-plugin-json
|
||||
npm install -g mocha markdown-toc
|
||||
) else if "%1" == "lint" (
|
||||
eslint --ext .js,.njs,.json,.html,.htm xlsx.js xlsx.flow.js bin/xlsx.njs package.json bower.json
|
||||
) else if "%1" == "test" (
|
||||
SET FMTS=
|
||||
mocha -R spec -t 30000
|
||||
) else if "%1" == "misc" (
|
||||
SET FMTS=misc
|
||||
mocha -R spec -t 30000
|
||||
) else if "%1" == "book" (
|
||||
type docbits\*.md > README.md
|
||||
markdown-toc -i README.md
|
||||
) else (
|
||||
type bits\*.js > xlsx.flow.js
|
||||
node misc\strip_flow.js > xlsx.js
|
||||
)
|
||||
|
9
test.js
9
test.js
@ -19,8 +19,8 @@ if(process.env.FMTS) ex=process.env.FMTS.split(":").map(function(x){return x[0]=
|
||||
var exp = ex.map(function(x){ return x + ".pending"; });
|
||||
function test_file(x){ return ex.indexOf(x.substr(-5))>=0||exp.indexOf(x.substr(-13))>=0 || ex.indexOf(x.substr(-4))>=0||exp.indexOf(x.substr(-12))>=0; }
|
||||
|
||||
var files = (fs.existsSync('tests.lst') ? fs.readFileSync('tests.lst', 'utf-8').split("\n") : fs.readdirSync('test_files')).filter(test_file);
|
||||
var fileA = (fs.existsSync('testA.lst') ? fs.readFileSync('testA.lst', 'utf-8').split("\n") : []).filter(test_file);
|
||||
var files = (fs.existsSync('tests.lst') ? fs.readFileSync('tests.lst', 'utf-8').split("\n").map(function(x) { return x.trim(); }) : fs.readdirSync('test_files')).filter(test_file);
|
||||
var fileA = (fs.existsSync('testA.lst') ? fs.readFileSync('testA.lst', 'utf-8').split("\n").map(function(x) { return x.trim(); }) : []).filter(test_file);
|
||||
|
||||
/* Excel enforces 31 character sheet limit, although technical file limit is 255 */
|
||||
function fixsheetname(x) { return x.substr(0,31); }
|
||||
@ -987,6 +987,7 @@ describe('parse features', function() {
|
||||
describe('page margins', function() {
|
||||
var wb1, wb2, wb3, wb4, wb5, wbs;
|
||||
var bef = (function() {
|
||||
if(!fs.existsSync(paths.pmxls)) return wbs=[];
|
||||
wb1 = X.readFile(paths.pmxls);
|
||||
wb2 = X.readFile(paths.pmxls5);
|
||||
wb3 = X.readFile(paths.pmxml);
|
||||
@ -1251,7 +1252,7 @@ describe('roundtrip features', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('should preserve page margins', function() {[
|
||||
(fs.existsSync(paths.pmxlsx) ? describe : describe.skip)('should preserve page margins', function() {[
|
||||
//['xlml', paths.pmxml],
|
||||
['xlsx', paths.pmxlsx],
|
||||
['xlsb', paths.pmxlsb]
|
||||
@ -1654,7 +1655,7 @@ describe('encryption', function() {
|
||||
|
||||
describe('multiformat tests', function() {
|
||||
var mfopts = opts;
|
||||
var mft = fs.readFileSync('multiformat.lst','utf-8').split("\n");
|
||||
var mft = fs.readFileSync('multiformat.lst','utf-8').split("\n").map(function(x) { return x.trim(); });
|
||||
var csv = true, formulae = false;
|
||||
mft.forEach(function(x) {
|
||||
if(x[0]!="#") describe('MFT ' + x, function() {
|
||||
|
Loading…
Reference in New Issue
Block a user