beginning of trivial node reporter, based on jasmine-node. jshint rules exclude bad escapements WRT ansi colors, beacuse that's ok.
This commit is contained in:
parent
9a12b32a3a
commit
528b5abeda
@ -29,6 +29,7 @@
|
|||||||
<script type="text/javascript" src="../src/WaitsForBlock.js"></script>
|
<script type="text/javascript" src="../src/WaitsForBlock.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript" src="../src/html/TrivialReporter.js"></script>
|
<script type="text/javascript" src="../src/html/TrivialReporter.js"></script>
|
||||||
|
<script type="text/javascript" src="../src/node/TrivialNodeReporter.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -50,6 +51,7 @@
|
|||||||
<script type="text/javascript" src="suites/SpySpec.js"></script>
|
<script type="text/javascript" src="suites/SpySpec.js"></script>
|
||||||
<script type="text/javascript" src="suites/SuiteSpec.js"></script>
|
<script type="text/javascript" src="suites/SuiteSpec.js"></script>
|
||||||
<script type="text/javascript" src="suites/TrivialReporterSpec.js"></script>
|
<script type="text/javascript" src="suites/TrivialReporterSpec.js"></script>
|
||||||
|
<script type="text/javascript" src="suites/TrivialNodeReporterSpec.js"></script>
|
||||||
<script type="text/javascript" src="suites/WaitsForBlockSpec.js"></script>
|
<script type="text/javascript" src="suites/WaitsForBlockSpec.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
70
spec/suites/TrivialNodeReporterSpec.js
Normal file
70
spec/suites/TrivialNodeReporterSpec.js
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
describe("TrivialNodeReporter", function() {
|
||||||
|
|
||||||
|
|
||||||
|
var green = function(str) {
|
||||||
|
return '\033[32m' + str + '\033[0m'; //keep these literal. otherwise the test loses value as a test.
|
||||||
|
};
|
||||||
|
|
||||||
|
var red = function(str) {
|
||||||
|
return '\033[31m' + str + '\033[0m';
|
||||||
|
};
|
||||||
|
|
||||||
|
var newline = "\n";
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
this.fakeSys = (function(){
|
||||||
|
var output = "";
|
||||||
|
return {
|
||||||
|
puts:function(str) {output += str + "\n";},
|
||||||
|
print:function(str) {output += str;},
|
||||||
|
getOutput:function(){return output;}
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
|
||||||
|
this.env = new jasmine.Env();
|
||||||
|
this.env.updateInterval = 0;
|
||||||
|
|
||||||
|
this.reporter = new jasmine.TrivialNodeReporter(this.fakeSys);
|
||||||
|
});
|
||||||
|
|
||||||
|
// reportSpecResults: function(spec) {
|
||||||
|
// var result = spec.results();
|
||||||
|
// var msg = '';
|
||||||
|
// if (result.passed())
|
||||||
|
// {
|
||||||
|
// msg = (colors) ? (ansi.green + '.' + ansi.none) : '.';
|
||||||
|
// // } else if (result.skipped) { TODO: Research why "result.skipped" returns false when "xit" is called on a spec?
|
||||||
|
// // msg = (colors) ? (ansi.yellow + '*' + ansi.none) : '*';
|
||||||
|
// } else {
|
||||||
|
// msg = (colors) ? (ansi.red + 'F' + ansi.none) : 'F';
|
||||||
|
// }
|
||||||
|
// sys.print(msg);
|
||||||
|
// if (columnCounter++ < 50) return;
|
||||||
|
// columnCounter = 0;
|
||||||
|
// sys.print('\n');
|
||||||
|
// },
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
describe('A Test Run', function(){
|
||||||
|
|
||||||
|
describe('A spec runs', function(){
|
||||||
|
|
||||||
|
it("prints a green dot if the spec passes", function(){
|
||||||
|
var passingSpec = {
|
||||||
|
results: function(){
|
||||||
|
return {passed:function(){return true;}};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.reporter.reportSpecResults(passingSpec);
|
||||||
|
|
||||||
|
expect(this.fakeSys.getOutput()).toEqual(
|
||||||
|
green(".")
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
45
src/node/TrivialNodeReporter.js
Normal file
45
src/node/TrivialNodeReporter.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
jasmine.TrivialNodeReporter = function(sys) {
|
||||||
|
this.sys = sys;
|
||||||
|
|
||||||
|
this.ansi = {
|
||||||
|
green: '\033[32m',
|
||||||
|
red: '\033[31m',
|
||||||
|
yellow: '\033[33m',
|
||||||
|
none: '\033[0m'
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// reportSpecResults: function(spec) {
|
||||||
|
// var result = spec.results();
|
||||||
|
// var msg = '';
|
||||||
|
// if (result.passed())
|
||||||
|
// {
|
||||||
|
// msg = (colors) ? (ansi.green + '.' + ansi.none) : '.';
|
||||||
|
// // } else if (result.skipped) { TODO: Research why "result.skipped" returns false when "xit" is called on a spec?
|
||||||
|
// // msg = (colors) ? (ansi.yellow + '*' + ansi.none) : '*';
|
||||||
|
// } else {
|
||||||
|
// msg = (colors) ? (ansi.red + 'F' + ansi.none) : 'F';
|
||||||
|
// }
|
||||||
|
// sys.print(msg);
|
||||||
|
// if (columnCounter++ < 50) return;
|
||||||
|
// columnCounter = 0;
|
||||||
|
// sys.print('\n');
|
||||||
|
// },
|
||||||
|
|
||||||
|
|
||||||
|
jasmine.TrivialNodeReporter.prototype._coloredStr = function(color, str) {
|
||||||
|
return this.ansi[color] + str + this.ansi.none;
|
||||||
|
};
|
||||||
|
|
||||||
|
jasmine.TrivialNodeReporter.prototype._greenStr = function(str) { return this._coloredStr("green", str); };
|
||||||
|
jasmine.TrivialNodeReporter.prototype._redStr = function(str) { return this._coloredStr("red", str); };
|
||||||
|
jasmine.TrivialNodeReporter.prototype._yellowStr = function(str) { return this._coloredStr("yellow", str); };
|
||||||
|
|
||||||
|
jasmine.TrivialNodeReporter.prototype._greenDot = function(str) { return this.sys.print(this._greenStr(".")); };
|
||||||
|
jasmine.TrivialNodeReporter.prototype._newLine = function(str) { return this.sys.print("\n"); };
|
||||||
|
|
||||||
|
jasmine.TrivialNodeReporter.prototype.reportSpecResults = function(spec) {
|
||||||
|
if (spec.results().passed()) this._greenDot();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user