dwf/rva: added JSONReporter
This commit is contained in:
parent
735ebd6c66
commit
cc164257a7
128
jasmine.iws
128
jasmine.iws
|
@ -79,29 +79,38 @@
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="bootstrap.html" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="bootstrap.html" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/test/bootstrap.html">
|
<entry file="file://$PROJECT_DIR$/test/bootstrap.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="7" column="58" selection-start="347" selection-end="347" vertical-scroll-proportion="0.13782384">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
<provider editor-type-id="HtmlPreview">
|
<provider editor-type-id="HtmlPreview">
|
||||||
<state />
|
<state />
|
||||||
</provider>
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="json_reporter.js" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/json_reporter.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="7" column="61" selection-start="350" selection-end="350" vertical-scroll-proportion="0.13782384">
|
<state line="15" column="37" selection-start="279" selection-end="279" vertical-scroll-proportion="0.27562863">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="bootstrap.js" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="bootstrap.js" pinned="false" current="true" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/test/bootstrap.js">
|
<entry file="file://$PROJECT_DIR$/test/bootstrap.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="565" column="0" selection-start="15772" selection-end="15858" vertical-scroll-proportion="0.7794971">
|
<state line="670" column="25" selection-start="19640" selection-end="19640" vertical-scroll-proportion="0.5093229">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="jasmine.js" pinned="false" current="true" current-in-tab="true">
|
<file leaf-file-name="jasmine.js" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/lib/jasmine.js">
|
<entry file="file://$PROJECT_DIR$/lib/jasmine.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="70" column="0" selection-start="1481" selection-end="1553" vertical-scroll-proportion="0.2205029">
|
<state line="285" column="5" selection-start="6014" selection-end="6014" vertical-scroll-proportion="0.43650794">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -109,14 +118,14 @@
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="example.html" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="example.html" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/example/example.html">
|
<entry file="file://$PROJECT_DIR$/example/example.html">
|
||||||
<provider editor-type-id="HtmlPreview">
|
|
||||||
<state />
|
|
||||||
</provider>
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="8" column="7" selection-start="355" selection-end="355" vertical-scroll-proportion="0.15751295">
|
<state line="8" column="7" selection-start="355" selection-end="355" vertical-scroll-proportion="0.15751295">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
<provider editor-type-id="HtmlPreview">
|
||||||
|
<state />
|
||||||
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="jasmine.css" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="jasmine.css" pinned="false" current="false" current-in-tab="false">
|
||||||
|
@ -296,6 +305,39 @@
|
||||||
<RUBY_DOC NAME="NUMBER" VALUE="0" />
|
<RUBY_DOC NAME="NUMBER" VALUE="0" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager">
|
||||||
|
<configuration default="true" type="Applet" factoryName="Applet">
|
||||||
|
<module name="" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="HTML_FILE_NAME" />
|
||||||
|
<option name="HTML_USED" value="false" />
|
||||||
|
<option name="WIDTH" value="400" />
|
||||||
|
<option name="HEIGHT" value="300" />
|
||||||
|
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="Remote" factoryName="Remote">
|
||||||
|
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
||||||
|
<option name="SERVER_MODE" value="false" />
|
||||||
|
<option name="SHMEM_ADDRESS" value="javadebug" />
|
||||||
|
<option name="HOST" value="localhost" />
|
||||||
|
<option name="PORT" value="5005" />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="true" type="RubyRunConfigurationType" factoryName="Ruby test">
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_CLASS_NAME" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift)" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="MODULE_NAME" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
||||||
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="INHERITANCE_CHECK_DISABLED" VALUE="false" />
|
||||||
|
</configuration>
|
||||||
<configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
|
<configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
|
||||||
<option name="MAIN_CLASS_NAME" />
|
<option name="MAIN_CLASS_NAME" />
|
||||||
<option name="VM_PARAMETERS" />
|
<option name="VM_PARAMETERS" />
|
||||||
|
@ -328,39 +370,6 @@
|
||||||
</option>
|
</option>
|
||||||
<envs />
|
<envs />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="RubyRunConfigurationType" factoryName="Ruby test">
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_CLASS_NAME" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift)" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="MODULE_NAME" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
||||||
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="INHERITANCE_CHECK_DISABLED" VALUE="false" />
|
|
||||||
</configuration>
|
|
||||||
<configuration default="true" type="Applet" factoryName="Applet">
|
|
||||||
<module name="" />
|
|
||||||
<option name="MAIN_CLASS_NAME" />
|
|
||||||
<option name="HTML_FILE_NAME" />
|
|
||||||
<option name="HTML_USED" value="false" />
|
|
||||||
<option name="WIDTH" value="400" />
|
|
||||||
<option name="HEIGHT" value="300" />
|
|
||||||
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
|
||||||
<option name="VM_PARAMETERS" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH" />
|
|
||||||
</configuration>
|
|
||||||
<configuration default="true" type="Remote" factoryName="Remote">
|
|
||||||
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
|
||||||
<option name="SERVER_MODE" value="false" />
|
|
||||||
<option name="SHMEM_ADDRESS" value="javadebug" />
|
|
||||||
<option name="HOST" value="localhost" />
|
|
||||||
<option name="PORT" value="5005" />
|
|
||||||
</configuration>
|
|
||||||
<list size="0" />
|
<list size="0" />
|
||||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||||
<Host>localhost</Host>
|
<Host>localhost</Host>
|
||||||
|
@ -498,15 +507,15 @@
|
||||||
</GetOptions>
|
</GetOptions>
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
<entry file="file://$PROJECT_DIR$/test/bootstrap.html">
|
<entry file="file://$PROJECT_DIR$/example/example.html">
|
||||||
<provider editor-type-id="HtmlPreview">
|
|
||||||
<state />
|
|
||||||
</provider>
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="7" column="61" selection-start="350" selection-end="350" vertical-scroll-proportion="0.13782384">
|
<state line="8" column="7" selection-start="355" selection-end="355" vertical-scroll-proportion="0.15751295">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
<provider editor-type-id="HtmlPreview">
|
||||||
|
<state />
|
||||||
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/lib/jasmine.css">
|
<entry file="file://$PROJECT_DIR$/lib/jasmine.css">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
@ -522,26 +531,33 @@
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/example/example.html">
|
<entry file="file://$PROJECT_DIR$/test/bootstrap.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="7" column="58" selection-start="347" selection-end="347" vertical-scroll-proportion="0.13782384">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
<provider editor-type-id="HtmlPreview">
|
<provider editor-type-id="HtmlPreview">
|
||||||
<state />
|
<state />
|
||||||
</provider>
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/jasmine.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="8" column="7" selection-start="355" selection-end="355" vertical-scroll-proportion="0.15751295">
|
<state line="285" column="5" selection-start="6014" selection-end="6014" vertical-scroll-proportion="0.43650794">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/json_reporter.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="15" column="37" selection-start="279" selection-end="279" vertical-scroll-proportion="0.27562863">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/test/bootstrap.js">
|
<entry file="file://$PROJECT_DIR$/test/bootstrap.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="565" column="0" selection-start="15772" selection-end="15858" vertical-scroll-proportion="0.7794971">
|
<state line="670" column="25" selection-start="19640" selection-end="19640" vertical-scroll-proportion="0.5093229">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/lib/jasmine.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="70" column="0" selection-start="1481" selection-end="1553" vertical-scroll-proportion="0.2205029">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
|
|
@ -279,14 +279,24 @@ var Runner = function () {
|
||||||
that.suites = that.actions;
|
that.suites = that.actions;
|
||||||
that.results.description = 'All Jasmine Suites';
|
that.results.description = 'All Jasmine Suites';
|
||||||
|
|
||||||
|
that.finishCallback = function () {
|
||||||
|
if (that.reporter) {
|
||||||
|
that.reporter.addResults(that.results);
|
||||||
|
that.reporter.report();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Jasmine = that;
|
Jasmine = that;
|
||||||
return that;
|
return that;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var JasmineReporters = {};
|
||||||
|
|
||||||
var Jasmine = Runner();
|
var Jasmine = Runner();
|
||||||
var currentSuite;
|
var currentSuite;
|
||||||
var currentSpec;
|
var currentSpec;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO:
|
* TODO:
|
||||||
//* - add spec or description to results
|
//* - add spec or description to results
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
JasmineReporters.JSON = function () {
|
||||||
|
var that = {
|
||||||
|
results: {},
|
||||||
|
|
||||||
|
addResults: function (results) {
|
||||||
|
that.results = results;
|
||||||
|
},
|
||||||
|
|
||||||
|
report: function () {
|
||||||
|
return Object.toJSON(that.results);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return that;
|
||||||
|
}
|
||||||
|
|
||||||
|
Jasmine.reporter = JasmineReporters.JSON();
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
<title>Jasmine Tests</title>
|
<title>Jasmine Tests</title>
|
||||||
<script type="text/javascript" src="prototype-1.6.0.3.js"></script>
|
<script type="text/javascript" src="prototype-1.6.0.3.js"></script>
|
||||||
<script type="text/javascript" src="../lib/jasmine.js"></script>
|
<script type="text/javascript" src="../lib/jasmine.js"></script>
|
||||||
|
<script type="text/javascript" src="../lib/json_reporter.js"></script>
|
||||||
<link type="text/css" rel="stylesheet" href="../lib/jasmine.css"/>
|
<link type="text/css" rel="stylesheet" href="../lib/jasmine.css"/>
|
||||||
<script type="text/javascript" src="bootstrap.js"></script>
|
<script type="text/javascript" src="bootstrap.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -544,15 +544,13 @@ var testRunner = function() {
|
||||||
var testRunnerFinishCallback = function () {
|
var testRunnerFinishCallback = function () {
|
||||||
var runner = Runner();
|
var runner = Runner();
|
||||||
var foo = 0;
|
var foo = 0;
|
||||||
|
var s
|
||||||
|
|
||||||
runner.finish();
|
runner.finish();
|
||||||
|
|
||||||
reporter.test((runner.finishCallback === undefined),
|
|
||||||
"Runner finish callback was defined");
|
|
||||||
reporter.test((runner.finished === true),
|
reporter.test((runner.finished === true),
|
||||||
"Runner finished flag was not set.");
|
"Runner finished flag was not set.");
|
||||||
|
|
||||||
|
|
||||||
runner.finishCallback = function () {
|
runner.finishCallback = function () {
|
||||||
foo++;
|
foo++;
|
||||||
}
|
}
|
||||||
|
@ -561,8 +559,6 @@ var testRunnerFinishCallback = function () {
|
||||||
|
|
||||||
reporter.test((runner.finished === true),
|
reporter.test((runner.finished === true),
|
||||||
"Runner finished flag was not set.");
|
"Runner finished flag was not set.");
|
||||||
reporter.test((runner.finishCallback !== undefined),
|
|
||||||
"Runner finish callback was not defined");
|
|
||||||
reporter.test((foo === 1),
|
reporter.test((foo === 1),
|
||||||
"Runner finish callback was not called");
|
"Runner finish callback was not called");
|
||||||
}
|
}
|
||||||
|
@ -619,7 +615,7 @@ var testNestedResults = function () {
|
||||||
"Branch Results should have 2 failed, has " + branchResults.failedCount);
|
"Branch Results should have 2 failed, has " + branchResults.failedCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
var testReporting = function () {
|
var testResults = function () {
|
||||||
var runner = Runner();
|
var runner = Runner();
|
||||||
describe('one suite description', function () {
|
describe('one suite description', function () {
|
||||||
it('should be a test', function() {
|
it('should be a test', function() {
|
||||||
|
@ -652,6 +648,32 @@ var testReporting = function () {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var testJSONReporter = function () {
|
||||||
|
var runner = Runner();
|
||||||
|
describe('one suite description', function () {
|
||||||
|
it('should be a test', function() {
|
||||||
|
runs(function () {
|
||||||
|
this.expects_that(true).should_equal(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
runner.reporter = JasmineReporters.JSON();
|
||||||
|
|
||||||
|
reporter.test((runner.reporter !== undefined),
|
||||||
|
"Runner's reporter is undefined");
|
||||||
|
reporter.test((runner.finishCallback !== undefined),
|
||||||
|
"Runner's finishCallback is undefined");
|
||||||
|
|
||||||
|
runner.execute();
|
||||||
|
|
||||||
|
expectedJSONString = '{"totalCount": 1, "passedCount": 1, "failedCount": 0, "results": [{"totalCount": 1, "passedCount": 1, "failedCount": 0, "results": [{"totalCount": 1, "passedCount": 1, "failedCount": 0, "results": [{"passed": true, "message": "Passed."}], "description": "should be a test"}], "description": "one suite description"}], "description": "All Jasmine Suites"}';
|
||||||
|
setTimeout(function() {
|
||||||
|
reporter.test((runner.reporter.report() === expectedJSONString),
|
||||||
|
'Jasmine Reporter does not have the expected report, has: ' + runner.reporter.report());
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
|
||||||
var runTests = function () {
|
var runTests = function () {
|
||||||
$('spinner').show();
|
$('spinner').show();
|
||||||
|
|
||||||
|
@ -666,7 +688,8 @@ var runTests = function () {
|
||||||
testRunner();
|
testRunner();
|
||||||
testRunnerFinishCallback();
|
testRunnerFinishCallback();
|
||||||
testNestedResults();
|
testNestedResults();
|
||||||
testReporting();
|
testResults();
|
||||||
|
testJSONReporter();
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$('spinner').hide();
|
$('spinner').hide();
|
||||||
|
|
Loading…
Reference in New Issue