forked from sheetjs/sheetjs
updating to 0.9.4
This commit is contained in:
parent
97b962da9d
commit
ed56e28363
8
Makefile
8
Makefile
@ -3,4 +3,10 @@ update:
|
||||
git show master:dist/cpexcel.js > dist/cpexcel.js
|
||||
git show master:dist/xlsx.core.min.js > xlsx.core.min.js
|
||||
git show master:dist/xlsx.full.min.js > xlsx.full.min.js
|
||||
git show master:xlsx.js > xlsx.js
|
||||
git show master:xlsx.js > xlsx.js
|
||||
git show master:tests/core.js > tests/core.js
|
||||
git show master:tests/fixtures.js > tests/fixtures.js
|
||||
git show master:tests/fs_.js > tests/fs_.js
|
||||
git show master:tests/mocha.css > tests/mocha.css
|
||||
git show master:tests/mocha.js > tests/mocha.js
|
||||
git show master:tests/xhr-hack.js > tests/xhr-hack.js
|
||||
|
1152
tests/core.js
Normal file
1152
tests/core.js
Normal file
File diff suppressed because it is too large
Load Diff
46
tests/fixtures.js
Normal file
46
tests/fixtures.js
Normal file
File diff suppressed because one or more lines are too long
45
tests/fs_.js
Normal file
45
tests/fs_.js
Normal file
@ -0,0 +1,45 @@
|
||||
var assert = function(bool) { if(!bool) { throw new Error("failed assert"); } };
|
||||
assert.deepEqualArray = function(x,y) {
|
||||
if(x.length != y.length) throw new Error("Length mismatch: " + x.length + " != " + y.length);
|
||||
for(var i = 0; i < x.length; ++i) assert.deepEqual(x[i], y[i]);
|
||||
};
|
||||
assert.deepEqual = function(x,y) {
|
||||
if(x == y) return true;
|
||||
if(Array.isArray(x) && Array.isArray(y) && x.length > 5) return assert.deepEqualArray(x,y);
|
||||
if(typeof x != 'object' || typeof y != 'object') throw new Error(x + " !== " + y);
|
||||
Object.keys(x).forEach(function(k) { assert.deepEqual(x[k], y[k]); });
|
||||
Object.keys(y).forEach(function(k) { assert.deepEqual(x[k], y[k]); });
|
||||
};
|
||||
assert.notEqual = function(x,y) { if(x == y) throw new Error(x + " == " + y); };
|
||||
assert.equal = function(x,y) { if(x != y) throw new Error(x + " !== " + y); };
|
||||
assert.throws = function(cb) { var pass = true; try { cb(); pass = false; } catch(e) { } if(!pass) throw new Error("Function did not throw"); };
|
||||
assert.doesNotThrow = function(cb) { var pass = true; try { cb(); } catch(e) { pass = false; } if(!pass) throw new Error("Function did throw"); };
|
||||
|
||||
function require(s) {
|
||||
switch(s) {
|
||||
case 'fs': return fs;
|
||||
case 'assert': return assert;
|
||||
case './': return XLSX;
|
||||
}
|
||||
if(s.slice(-5) == ".json") return JSON.parse(fs.readFileSync(s));
|
||||
}
|
||||
|
||||
var fs = {};
|
||||
fs.existsSync = function(p) { return !!fs[p]; };
|
||||
fs.readdirSync = function(p) { return Object.keys(fs).filter(function(n) {
|
||||
return fs.hasOwnProperty(n) && n.slice(-4) != "Sync"; });
|
||||
};
|
||||
fs.readFileSync = function(f, enc) {
|
||||
if(!fs[f]) throw "File not found: " + f;
|
||||
switch(enc) {
|
||||
case 'base64': return fs[f];
|
||||
case 'buffer':
|
||||
var o = atob(fs[f]), oo = [];
|
||||
for(var i = 0; i < o.length; ++i) oo[i] = o.charCodeAt(i);
|
||||
return oo;
|
||||
default: return atob(fs[f]);
|
||||
}
|
||||
};
|
||||
|
||||
fs.writeFileSync = function(f, d) { fs[f] = d; };
|
||||
|
58
tests/index.html
Normal file
58
tests/index.html
Normal file
@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>JS-XLSX Core Test Runner</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="mocha.css" />
|
||||
<link rel="icon" type="image/png" href="//oss.sheetjs.com/assets/img/logo.png" />
|
||||
<style>
|
||||
#t { font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0px 60px; font-weight: bold; }
|
||||
#tt{ font: 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0px 60px; }
|
||||
th { font: 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0px 60px; font-weight: bold; text-align: left; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id="t">JS-XLSX Browser-based Parsing Tests</h1>
|
||||
<table id="tt">
|
||||
<tr>
|
||||
<th>File Formats</th>
|
||||
<td><a href="http://github.com/SheetJS/js-xlsx">Library Source</a></td>
|
||||
<td><a href="http://SheetJS.github.io/js-xls">Interactive Demo</a></td>
|
||||
<td><a href="http://npm.im/xlsx">"xlsx" on npm</a></td>
|
||||
<td><a href="https://travis-ci.org/SheetJS/js-xlsx">node CI status</a></td>
|
||||
</tr>
|
||||
<tr><td colspan="5">Tests compiled from <a href="http://github.com/SheetJS/test_files">test_files repo</a> and are located at /test_files<br /></td></tr>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-36810333-1']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
<script src="shim.js"></script>
|
||||
<script src="fs_.js"></script>
|
||||
<script src="fixtures.js"></script>
|
||||
<script src="xlsx.full.min.js"></script>
|
||||
<!--[if IE]>
|
||||
<script type="text/javascript" src="xhr-hack.js"></script>
|
||||
<![endif]-->
|
||||
<div id="mocha"></div>
|
||||
<script src="mocha.js"></script>
|
||||
<script>
|
||||
window.initMochaPhantomJS && window.initMochaPhantomJS();
|
||||
mocha.setup('bdd');
|
||||
</script>
|
||||
<script src="core.js"></script>
|
||||
<script>
|
||||
if(typeof mochaSaucePlease !== "undefined") mochaSaucePlease();
|
||||
else if(window.mochaPhantomJS) mochaPhantomJS.run();
|
||||
else mocha.run();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
260
tests/mocha.css
Normal file
260
tests/mocha.css
Normal file
@ -0,0 +1,260 @@
|
||||
@charset "utf-8";
|
||||
|
||||
body {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
#mocha {
|
||||
font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
margin: 60px 50px;
|
||||
}
|
||||
|
||||
#mocha ul, #mocha li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#mocha ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
#mocha h1, #mocha h2 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#mocha h1 {
|
||||
margin-top: 15px;
|
||||
font-size: 1em;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
#mocha h1 a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
#mocha h1 a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#mocha .suite .suite h1 {
|
||||
margin-top: 0;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
#mocha .hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha h2 {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#mocha .suite {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#mocha .test {
|
||||
margin-left: 15px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#mocha .test.pending:hover h2::after {
|
||||
content: '(pending)';
|
||||
font-family: arial, sans-serif;
|
||||
}
|
||||
|
||||
#mocha .test.pass.medium .duration {
|
||||
background: #C09853;
|
||||
}
|
||||
|
||||
#mocha .test.pass.slow .duration {
|
||||
background: #B94A48;
|
||||
}
|
||||
|
||||
#mocha .test.pass::before {
|
||||
content: '✓';
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
color: #00d6b2;
|
||||
}
|
||||
|
||||
#mocha .test.pass .duration {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
padding: 2px 5px;
|
||||
color: white;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-ms-border-radius: 5px;
|
||||
-o-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#mocha .test.pass.fast .duration {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha .test.pending {
|
||||
color: #0b97c4;
|
||||
}
|
||||
|
||||
#mocha .test.pending::before {
|
||||
content: '◦';
|
||||
color: #0b97c4;
|
||||
}
|
||||
|
||||
#mocha .test.fail {
|
||||
color: #c00;
|
||||
}
|
||||
|
||||
#mocha .test.fail pre {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#mocha .test.fail::before {
|
||||
content: '✖';
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
color: #c00;
|
||||
}
|
||||
|
||||
#mocha .test pre.error {
|
||||
color: #c00;
|
||||
max-height: 300px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#mocha .test pre {
|
||||
display: block;
|
||||
float: left;
|
||||
clear: left;
|
||||
font: 12px/1.5 monaco, monospace;
|
||||
margin: 5px;
|
||||
padding: 15px;
|
||||
border: 1px solid #eee;
|
||||
border-bottom-color: #ddd;
|
||||
-webkit-border-radius: 3px;
|
||||
-webkit-box-shadow: 0 1px 3px #eee;
|
||||
-moz-border-radius: 3px;
|
||||
-moz-box-shadow: 0 1px 3px #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#mocha .test h2 {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#mocha .test a.replay {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
right: 0;
|
||||
text-decoration: none;
|
||||
vertical-align: middle;
|
||||
display: block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
line-height: 15px;
|
||||
text-align: center;
|
||||
background: #eee;
|
||||
font-size: 15px;
|
||||
-moz-border-radius: 15px;
|
||||
border-radius: 15px;
|
||||
-webkit-transition: opacity 200ms;
|
||||
-moz-transition: opacity 200ms;
|
||||
transition: opacity 200ms;
|
||||
opacity: 0.3;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
#mocha .test:hover a.replay {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#mocha-report.pass .test.fail {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha-report.fail .test.pass {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha-report.pending .test.pass,
|
||||
#mocha-report.pending .test.fail {
|
||||
display: none;
|
||||
}
|
||||
#mocha-report.pending .test.pass.pending {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#mocha-error {
|
||||
color: #c00;
|
||||
font-size: 1.5em;
|
||||
font-weight: 100;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
#mocha-stats {
|
||||
position: fixed;
|
||||
top: 15px;
|
||||
right: 10px;
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
color: #888;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#mocha-stats .progress {
|
||||
float: right;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
#mocha-stats em {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#mocha-stats a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
#mocha-stats a:hover {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
#mocha-stats li {
|
||||
display: inline-block;
|
||||
margin: 0 5px;
|
||||
list-style: none;
|
||||
padding-top: 11px;
|
||||
}
|
||||
|
||||
#mocha-stats canvas {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
#mocha code .comment { color: #ddd }
|
||||
#mocha code .init { color: #2F6FAD }
|
||||
#mocha code .string { color: #5890AD }
|
||||
#mocha code .keyword { color: #8A6343 }
|
||||
#mocha code .number { color: #2F6FAD }
|
||||
|
||||
@media screen and (max-device-width: 480px) {
|
||||
#mocha {
|
||||
margin: 60px 0px;
|
||||
}
|
||||
|
||||
#mocha #stats {
|
||||
position: absolute;
|
||||
}
|
||||
}
|
5554
tests/mocha.js
Normal file
5554
tests/mocha.js
Normal file
File diff suppressed because it is too large
Load Diff
1
tests/shim.js
Symbolic link
1
tests/shim.js
Symbolic link
@ -0,0 +1 @@
|
||||
../shim.js
|
17
tests/xhr-hack.js
Normal file
17
tests/xhr-hack.js
Normal file
@ -0,0 +1,17 @@
|
||||
var IEBinaryToArray_ByteStr_Script =
|
||||
"<!-- IEBinaryToArray_ByteStr -->\r\n"+
|
||||
"<script type='text/vbscript'>\r\n"+
|
||||
"Function IEBinaryToArray_ByteStr(Binary) : IEBinaryToArray_ByteStr = CStr(Binary) : End Function\r\n"+
|
||||
"Function IEBinaryToArray_ByteStr_Last(Binary)\r\n"+
|
||||
" Dim lastIndex\r\n"+
|
||||
" lastIndex = LenB(Binary)\r\n"+
|
||||
" if lastIndex mod 2 Then\r\n"+
|
||||
" IEBinaryToArray_ByteStr_Last = Chr( AscB( MidB( Binary, lastIndex, 1 ) ) )\r\n"+
|
||||
" Else\r\n"+
|
||||
" IEBinaryToArray_ByteStr_Last = "+'""'+"\r\n"+
|
||||
" End If\r\n"+
|
||||
"End Function\r\n"+
|
||||
"</script>\r\n";
|
||||
|
||||
document.write(IEBinaryToArray_ByteStr_Script);
|
||||
|
1
tests/xlsx.full.min.js
vendored
Symbolic link
1
tests/xlsx.full.min.js
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
../xlsx.full.min.js
|
24
xlsx.core.min.js
vendored
24
xlsx.core.min.js
vendored
File diff suppressed because one or more lines are too long
24
xlsx.full.min.js
vendored
24
xlsx.full.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user