opal 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +2 -1
- data/lib/opal/version.rb +1 -1
- data/opal/corelib/constants.rb +2 -2
- data/stdlib/native.rb +1 -1
- data/stdlib/nodejs/node_modules/.bin/js-yaml +1 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse +1 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate +1 -0
- metadata +3 -3
- data/stdlib/nodejs/node_modules/.bin/js-yaml +0 -140
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse +0 -117
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate +0 -177
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17581ea0e05aa539b7f8cebf864a0a316d9fb0df
|
4
|
+
data.tar.gz: 00eb15387a84f96086cdd90e1a76a224ab336db9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffa319d4be3c02b56592538e36a4280beace7e4e9482b7ed332ce3ebfd394a1e030a19c316770057f42b0a2648aaef70613c2d7aff197d10a38c8bc1f90ea112
|
7
|
+
data.tar.gz: 37c94c2ccb8c533b4a8d1de580e2fa79ac8fed78767988d59f66b2330a5094a407aee9e87d2417e6ebffda2cdbfa654749d20495b3f786827ae05d7e7215153e
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/lib/opal/version.rb
CHANGED
data/opal/corelib/constants.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
RUBY_PLATFORM = 'opal'
|
2
2
|
RUBY_ENGINE = 'opal'
|
3
3
|
RUBY_VERSION = '2.2.3'
|
4
|
-
RUBY_ENGINE_VERSION = '0.9.
|
5
|
-
RUBY_RELEASE_DATE = '2016-
|
4
|
+
RUBY_ENGINE_VERSION = '0.9.3'
|
5
|
+
RUBY_RELEASE_DATE = '2016-06-06'
|
6
6
|
RUBY_PATCHLEVEL = 0
|
7
7
|
RUBY_REVISION = 0
|
8
8
|
RUBY_COPYRIGHT = 'opal - Copyright (C) 2013-2015 Adam Beynon'
|
data/stdlib/native.rb
CHANGED
@@ -526,7 +526,7 @@ class Hash
|
|
526
526
|
|
527
527
|
def initialize(defaults = undefined, &block)
|
528
528
|
%x{
|
529
|
-
if (defaults
|
529
|
+
if (defaults != null && defaults.constructor === Object) {
|
530
530
|
var smap = self.$$smap,
|
531
531
|
keys = self.$$keys,
|
532
532
|
key, value;
|
@@ -0,0 +1 @@
|
|
1
|
+
../js-yaml/bin/js-yaml.js
|
@@ -0,0 +1 @@
|
|
1
|
+
../esprima/bin/esparse.js
|
@@ -0,0 +1 @@
|
|
1
|
+
../esprima/bin/esvalidate.js
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Beynon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sourcemap
|
@@ -1104,7 +1104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1104
1104
|
version: '0'
|
1105
1105
|
requirements: []
|
1106
1106
|
rubyforge_project:
|
1107
|
-
rubygems_version: 2.4
|
1107
|
+
rubygems_version: 2.6.4
|
1108
1108
|
signing_key:
|
1109
1109
|
specification_version: 4
|
1110
1110
|
summary: Ruby runtime and core library for JavaScript
|
@@ -1,140 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
|
3
|
-
|
4
|
-
'use strict';
|
5
|
-
|
6
|
-
|
7
|
-
// stdlib
|
8
|
-
var fs = require('fs');
|
9
|
-
|
10
|
-
|
11
|
-
// 3rd-party
|
12
|
-
var argparse = require('argparse');
|
13
|
-
|
14
|
-
|
15
|
-
// internal
|
16
|
-
var yaml = require('..');
|
17
|
-
|
18
|
-
|
19
|
-
////////////////////////////////////////////////////////////////////////////////
|
20
|
-
|
21
|
-
|
22
|
-
var cli = new argparse.ArgumentParser({
|
23
|
-
prog: 'js-yaml',
|
24
|
-
version: require('../package.json').version,
|
25
|
-
addHelp: true
|
26
|
-
});
|
27
|
-
|
28
|
-
|
29
|
-
cli.addArgument(['-c', '--compact'], {
|
30
|
-
help: 'Display errors in compact mode',
|
31
|
-
action: 'storeTrue'
|
32
|
-
});
|
33
|
-
|
34
|
-
|
35
|
-
// deprecated (not needed after we removed output colors)
|
36
|
-
// option suppressed, but not completely removed for compatibility
|
37
|
-
cli.addArgument(['-j', '--to-json'], {
|
38
|
-
help: argparse.Const.SUPPRESS,
|
39
|
-
dest: 'json',
|
40
|
-
action: 'storeTrue'
|
41
|
-
});
|
42
|
-
|
43
|
-
|
44
|
-
cli.addArgument(['-t', '--trace'], {
|
45
|
-
help: 'Show stack trace on error',
|
46
|
-
action: 'storeTrue'
|
47
|
-
});
|
48
|
-
|
49
|
-
cli.addArgument(['file'], {
|
50
|
-
help: 'File to read, utf-8 encoded without BOM',
|
51
|
-
nargs: '?',
|
52
|
-
defaultValue: '-'
|
53
|
-
});
|
54
|
-
|
55
|
-
|
56
|
-
////////////////////////////////////////////////////////////////////////////////
|
57
|
-
|
58
|
-
|
59
|
-
var options = cli.parseArgs();
|
60
|
-
|
61
|
-
|
62
|
-
////////////////////////////////////////////////////////////////////////////////
|
63
|
-
|
64
|
-
function readFile(filename, encoding, callback) {
|
65
|
-
if (options.file === '-') {
|
66
|
-
// read from stdin
|
67
|
-
|
68
|
-
var chunks = [];
|
69
|
-
|
70
|
-
process.stdin.on('data', function(chunk) {
|
71
|
-
chunks.push(chunk);
|
72
|
-
});
|
73
|
-
|
74
|
-
process.stdin.on('end', function() {
|
75
|
-
return callback(null, Buffer.concat(chunks).toString(encoding));
|
76
|
-
});
|
77
|
-
} else {
|
78
|
-
fs.readFile(filename, encoding, callback);
|
79
|
-
}
|
80
|
-
}
|
81
|
-
|
82
|
-
readFile(options.file, 'utf8', function (error, input) {
|
83
|
-
var output, isYaml;
|
84
|
-
|
85
|
-
if (error) {
|
86
|
-
if ('ENOENT' === error.code) {
|
87
|
-
console.error('File not found: ' + options.file);
|
88
|
-
process.exit(2);
|
89
|
-
}
|
90
|
-
|
91
|
-
console.error(
|
92
|
-
options.trace && error.stack ||
|
93
|
-
error.message ||
|
94
|
-
String(error));
|
95
|
-
|
96
|
-
process.exit(1);
|
97
|
-
}
|
98
|
-
|
99
|
-
try {
|
100
|
-
output = JSON.parse(input);
|
101
|
-
isYaml = false;
|
102
|
-
} catch (error) {
|
103
|
-
if (error instanceof SyntaxError) {
|
104
|
-
try {
|
105
|
-
output = [];
|
106
|
-
yaml.loadAll(input, function (doc) { output.push(doc); }, {});
|
107
|
-
isYaml = true;
|
108
|
-
|
109
|
-
if (0 === output.length) {
|
110
|
-
output = null;
|
111
|
-
} else if (1 === output.length) {
|
112
|
-
output = output[0];
|
113
|
-
}
|
114
|
-
} catch (error) {
|
115
|
-
if (options.trace && error.stack) {
|
116
|
-
console.error(error.stack);
|
117
|
-
} else {
|
118
|
-
console.error(error.toString(options.compact));
|
119
|
-
}
|
120
|
-
|
121
|
-
process.exit(1);
|
122
|
-
}
|
123
|
-
} else {
|
124
|
-
console.error(
|
125
|
-
options.trace && error.stack ||
|
126
|
-
error.message ||
|
127
|
-
String(error));
|
128
|
-
|
129
|
-
process.exit(1);
|
130
|
-
}
|
131
|
-
}
|
132
|
-
|
133
|
-
if (isYaml) {
|
134
|
-
console.log(JSON.stringify(output, null, ' '));
|
135
|
-
} else {
|
136
|
-
console.log(yaml.dump(output));
|
137
|
-
}
|
138
|
-
|
139
|
-
process.exit(0);
|
140
|
-
});
|
@@ -1,117 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
/*
|
3
|
-
Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
|
4
|
-
Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>
|
5
|
-
|
6
|
-
Redistribution and use in source and binary forms, with or without
|
7
|
-
modification, are permitted provided that the following conditions are met:
|
8
|
-
|
9
|
-
* Redistributions of source code must retain the above copyright
|
10
|
-
notice, this list of conditions and the following disclaimer.
|
11
|
-
* Redistributions in binary form must reproduce the above copyright
|
12
|
-
notice, this list of conditions and the following disclaimer in the
|
13
|
-
documentation and/or other materials provided with the distribution.
|
14
|
-
|
15
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
16
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
17
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
18
|
-
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
19
|
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
20
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
21
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
22
|
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
23
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
24
|
-
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
-
*/
|
26
|
-
|
27
|
-
/*jslint sloppy:true node:true rhino:true */
|
28
|
-
|
29
|
-
var fs, esprima, fname, content, options, syntax;
|
30
|
-
|
31
|
-
if (typeof require === 'function') {
|
32
|
-
fs = require('fs');
|
33
|
-
esprima = require('esprima');
|
34
|
-
} else if (typeof load === 'function') {
|
35
|
-
try {
|
36
|
-
load('esprima.js');
|
37
|
-
} catch (e) {
|
38
|
-
load('../esprima.js');
|
39
|
-
}
|
40
|
-
}
|
41
|
-
|
42
|
-
// Shims to Node.js objects when running under Rhino.
|
43
|
-
if (typeof console === 'undefined' && typeof process === 'undefined') {
|
44
|
-
console = { log: print };
|
45
|
-
fs = { readFileSync: readFile };
|
46
|
-
process = { argv: arguments, exit: quit };
|
47
|
-
process.argv.unshift('esparse.js');
|
48
|
-
process.argv.unshift('rhino');
|
49
|
-
}
|
50
|
-
|
51
|
-
function showUsage() {
|
52
|
-
console.log('Usage:');
|
53
|
-
console.log(' esparse [options] file.js');
|
54
|
-
console.log();
|
55
|
-
console.log('Available options:');
|
56
|
-
console.log();
|
57
|
-
console.log(' --comment Gather all line and block comments in an array');
|
58
|
-
console.log(' --loc Include line-column location info for each syntax node');
|
59
|
-
console.log(' --range Include index-based range for each syntax node');
|
60
|
-
console.log(' --raw Display the raw value of literals');
|
61
|
-
console.log(' --tokens List all tokens in an array');
|
62
|
-
console.log(' --tolerant Tolerate errors on a best-effort basis (experimental)');
|
63
|
-
console.log(' -v, --version Shows program version');
|
64
|
-
console.log();
|
65
|
-
process.exit(1);
|
66
|
-
}
|
67
|
-
|
68
|
-
if (process.argv.length <= 2) {
|
69
|
-
showUsage();
|
70
|
-
}
|
71
|
-
|
72
|
-
options = {};
|
73
|
-
|
74
|
-
process.argv.splice(2).forEach(function (entry) {
|
75
|
-
|
76
|
-
if (entry === '-h' || entry === '--help') {
|
77
|
-
showUsage();
|
78
|
-
} else if (entry === '-v' || entry === '--version') {
|
79
|
-
console.log('ECMAScript Parser (using Esprima version', esprima.version, ')');
|
80
|
-
console.log();
|
81
|
-
process.exit(0);
|
82
|
-
} else if (entry === '--comment') {
|
83
|
-
options.comment = true;
|
84
|
-
} else if (entry === '--loc') {
|
85
|
-
options.loc = true;
|
86
|
-
} else if (entry === '--range') {
|
87
|
-
options.range = true;
|
88
|
-
} else if (entry === '--raw') {
|
89
|
-
options.raw = true;
|
90
|
-
} else if (entry === '--tokens') {
|
91
|
-
options.tokens = true;
|
92
|
-
} else if (entry === '--tolerant') {
|
93
|
-
options.tolerant = true;
|
94
|
-
} else if (entry.slice(0, 2) === '--') {
|
95
|
-
console.log('Error: unknown option ' + entry + '.');
|
96
|
-
process.exit(1);
|
97
|
-
} else if (typeof fname === 'string') {
|
98
|
-
console.log('Error: more than one input file.');
|
99
|
-
process.exit(1);
|
100
|
-
} else {
|
101
|
-
fname = entry;
|
102
|
-
}
|
103
|
-
});
|
104
|
-
|
105
|
-
if (typeof fname !== 'string') {
|
106
|
-
console.log('Error: no input file.');
|
107
|
-
process.exit(1);
|
108
|
-
}
|
109
|
-
|
110
|
-
try {
|
111
|
-
content = fs.readFileSync(fname, 'utf-8');
|
112
|
-
syntax = esprima.parse(content, options);
|
113
|
-
console.log(JSON.stringify(syntax, null, 4));
|
114
|
-
} catch (e) {
|
115
|
-
console.log('Error: ' + e.message);
|
116
|
-
process.exit(1);
|
117
|
-
}
|
@@ -1,177 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
/*
|
3
|
-
Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
|
4
|
-
|
5
|
-
Redistribution and use in source and binary forms, with or without
|
6
|
-
modification, are permitted provided that the following conditions are met:
|
7
|
-
|
8
|
-
* Redistributions of source code must retain the above copyright
|
9
|
-
notice, this list of conditions and the following disclaimer.
|
10
|
-
* Redistributions in binary form must reproduce the above copyright
|
11
|
-
notice, this list of conditions and the following disclaimer in the
|
12
|
-
documentation and/or other materials provided with the distribution.
|
13
|
-
|
14
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
15
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
16
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
17
|
-
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
18
|
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
19
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
20
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
21
|
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
22
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
23
|
-
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
24
|
-
*/
|
25
|
-
|
26
|
-
/*jslint sloppy:true plusplus:true node:true rhino:true */
|
27
|
-
|
28
|
-
var fs, esprima, options, fnames, count;
|
29
|
-
|
30
|
-
if (typeof require === 'function') {
|
31
|
-
fs = require('fs');
|
32
|
-
esprima = require('esprima');
|
33
|
-
} else if (typeof load === 'function') {
|
34
|
-
try {
|
35
|
-
load('esprima.js');
|
36
|
-
} catch (e) {
|
37
|
-
load('../esprima.js');
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
// Shims to Node.js objects when running under Rhino.
|
42
|
-
if (typeof console === 'undefined' && typeof process === 'undefined') {
|
43
|
-
console = { log: print };
|
44
|
-
fs = { readFileSync: readFile };
|
45
|
-
process = { argv: arguments, exit: quit };
|
46
|
-
process.argv.unshift('esvalidate.js');
|
47
|
-
process.argv.unshift('rhino');
|
48
|
-
}
|
49
|
-
|
50
|
-
function showUsage() {
|
51
|
-
console.log('Usage:');
|
52
|
-
console.log(' esvalidate [options] file.js');
|
53
|
-
console.log();
|
54
|
-
console.log('Available options:');
|
55
|
-
console.log();
|
56
|
-
console.log(' --format=type Set the report format, plain (default) or junit');
|
57
|
-
console.log(' -v, --version Print program version');
|
58
|
-
console.log();
|
59
|
-
process.exit(1);
|
60
|
-
}
|
61
|
-
|
62
|
-
if (process.argv.length <= 2) {
|
63
|
-
showUsage();
|
64
|
-
}
|
65
|
-
|
66
|
-
options = {
|
67
|
-
format: 'plain'
|
68
|
-
};
|
69
|
-
|
70
|
-
fnames = [];
|
71
|
-
|
72
|
-
process.argv.splice(2).forEach(function (entry) {
|
73
|
-
|
74
|
-
if (entry === '-h' || entry === '--help') {
|
75
|
-
showUsage();
|
76
|
-
} else if (entry === '-v' || entry === '--version') {
|
77
|
-
console.log('ECMAScript Validator (using Esprima version', esprima.version, ')');
|
78
|
-
console.log();
|
79
|
-
process.exit(0);
|
80
|
-
} else if (entry.slice(0, 9) === '--format=') {
|
81
|
-
options.format = entry.slice(9);
|
82
|
-
if (options.format !== 'plain' && options.format !== 'junit') {
|
83
|
-
console.log('Error: unknown report format ' + options.format + '.');
|
84
|
-
process.exit(1);
|
85
|
-
}
|
86
|
-
} else if (entry.slice(0, 2) === '--') {
|
87
|
-
console.log('Error: unknown option ' + entry + '.');
|
88
|
-
process.exit(1);
|
89
|
-
} else {
|
90
|
-
fnames.push(entry);
|
91
|
-
}
|
92
|
-
});
|
93
|
-
|
94
|
-
if (fnames.length === 0) {
|
95
|
-
console.log('Error: no input file.');
|
96
|
-
process.exit(1);
|
97
|
-
}
|
98
|
-
|
99
|
-
if (options.format === 'junit') {
|
100
|
-
console.log('<?xml version="1.0" encoding="UTF-8"?>');
|
101
|
-
console.log('<testsuites>');
|
102
|
-
}
|
103
|
-
|
104
|
-
count = 0;
|
105
|
-
fnames.forEach(function (fname) {
|
106
|
-
var content, timestamp, syntax, name;
|
107
|
-
try {
|
108
|
-
content = fs.readFileSync(fname, 'utf-8');
|
109
|
-
|
110
|
-
if (content[0] === '#' && content[1] === '!') {
|
111
|
-
content = '//' + content.substr(2, content.length);
|
112
|
-
}
|
113
|
-
|
114
|
-
timestamp = Date.now();
|
115
|
-
syntax = esprima.parse(content, { tolerant: true });
|
116
|
-
|
117
|
-
if (options.format === 'junit') {
|
118
|
-
|
119
|
-
name = fname;
|
120
|
-
if (name.lastIndexOf('/') >= 0) {
|
121
|
-
name = name.slice(name.lastIndexOf('/') + 1);
|
122
|
-
}
|
123
|
-
|
124
|
-
console.log('<testsuite name="' + fname + '" errors="0" ' +
|
125
|
-
' failures="' + syntax.errors.length + '" ' +
|
126
|
-
' tests="' + syntax.errors.length + '" ' +
|
127
|
-
' time="' + Math.round((Date.now() - timestamp) / 1000) +
|
128
|
-
'">');
|
129
|
-
|
130
|
-
syntax.errors.forEach(function (error) {
|
131
|
-
var msg = error.message;
|
132
|
-
msg = msg.replace(/^Line\ [0-9]*\:\ /, '');
|
133
|
-
console.log(' <testcase name="Line ' + error.lineNumber + ': ' + msg + '" ' +
|
134
|
-
' time="0">');
|
135
|
-
console.log(' <error type="SyntaxError" message="' + error.message + '">' +
|
136
|
-
error.message + '(' + name + ':' + error.lineNumber + ')' +
|
137
|
-
'</error>');
|
138
|
-
console.log(' </testcase>');
|
139
|
-
});
|
140
|
-
|
141
|
-
console.log('</testsuite>');
|
142
|
-
|
143
|
-
} else if (options.format === 'plain') {
|
144
|
-
|
145
|
-
syntax.errors.forEach(function (error) {
|
146
|
-
var msg = error.message;
|
147
|
-
msg = msg.replace(/^Line\ [0-9]*\:\ /, '');
|
148
|
-
msg = fname + ':' + error.lineNumber + ': ' + msg;
|
149
|
-
console.log(msg);
|
150
|
-
++count;
|
151
|
-
});
|
152
|
-
|
153
|
-
}
|
154
|
-
} catch (e) {
|
155
|
-
++count;
|
156
|
-
if (options.format === 'junit') {
|
157
|
-
console.log('<testsuite name="' + fname + '" errors="1" failures="0" tests="1" ' +
|
158
|
-
' time="' + Math.round((Date.now() - timestamp) / 1000) + '">');
|
159
|
-
console.log(' <testcase name="' + e.message + '" ' + ' time="0">');
|
160
|
-
console.log(' <error type="ParseError" message="' + e.message + '">' +
|
161
|
-
e.message + '(' + fname + ((e.lineNumber) ? ':' + e.lineNumber : '') +
|
162
|
-
')</error>');
|
163
|
-
console.log(' </testcase>');
|
164
|
-
console.log('</testsuite>');
|
165
|
-
} else {
|
166
|
-
console.log('Error: ' + e.message);
|
167
|
-
}
|
168
|
-
}
|
169
|
-
});
|
170
|
-
|
171
|
-
if (options.format === 'junit') {
|
172
|
-
console.log('</testsuites>');
|
173
|
-
}
|
174
|
-
|
175
|
-
if (count > 0) {
|
176
|
-
process.exit(1);
|
177
|
-
}
|