dwf/rva: moved JasmineReporter 'base class' to jasmine.js

This commit is contained in:
pivotal 2008-12-05 10:22:03 -08:00
parent 80e1d6b6e8
commit 665c3e9f33
3 changed files with 68 additions and 83 deletions

View File

@ -92,25 +92,25 @@
<file leaf-file-name="json_reporter.js" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="json_reporter.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/json_reporter.js"> <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="5" column="55" selection-start="187" selection-end="187" vertical-scroll-proportion="0.09187621"> <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="bootstrap.js" pinned="false" current="true" current-in-tab="true"> <file leaf-file-name="bootstrap.js" pinned="false" current="false" current-in-tab="false">
<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="690" column="388" selection-start="20624" selection-end="20624" vertical-scroll-proportion="0.27281648"> <state line="690" column="388" selection-start="20624" selection-end="20624" vertical-scroll-proportion="0.018645732">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="jasmine.js" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="jasmine.js" pinned="false" current="true" current-in-tab="true">
<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="292" column="29" selection-start="6206" selection-end="6206" vertical-scroll-proportion="0.17063493"> <state line="333" column="0" selection-start="6862" selection-end="6862" vertical-scroll-proportion="0.76112187">
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -305,40 +305,6 @@
<RUBY_DOC NAME="NUMBER" VALUE="0" /> <RUBY_DOC NAME="NUMBER" VALUE="0" />
</component> </component>
<component name="RunManager"> <component name="RunManager">
<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="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="Application" factoryName="Application" enabled="false" merge="false">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false"> <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
<module name="" /> <module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@ -358,6 +324,40 @@
</option> </option>
<envs /> <envs />
</configuration> </configuration>
<configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
</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="Applet" factoryName="Applet"> <configuration default="true" type="Applet" factoryName="Applet">
<module name="" /> <module name="" />
<option name="MAIN_CLASS_NAME" /> <option name="MAIN_CLASS_NAME" />
@ -541,23 +541,23 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/jasmine.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="292" column="29" selection-start="6206" selection-end="6206" vertical-scroll-proportion="0.17063493"> <state line="690" column="388" selection-start="20624" selection-end="20624" vertical-scroll-proportion="0.018645732">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/json_reporter.js"> <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="5" column="55" selection-start="187" selection-end="187" vertical-scroll-proportion="0.09187621"> <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/test/bootstrap.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="690" column="388" selection-start="20624" selection-end="20624" vertical-scroll-proportion="0.27281648"> <state line="333" column="0" selection-start="6862" selection-end="6862" vertical-scroll-proportion="0.76112187">
<folding /> <folding />
</state> </state>
</provider> </provider>

View File

@ -304,27 +304,37 @@ var Jasmine = Runner();
var currentSuite; var currentSuite;
var currentSpec; var currentSpec;
JasmineReporters.reporter = function (elementId) {
var that = {
element: document.getElementById(elementId),
output: '',
addResults: function (results) { that.output = ''; },
addSpecResults: function (results) { that.output = ''; },
report: function () {
if (that.element) {
that.element.innerHTML += that.output;
}
return that.output;
}
}
// TODO: throw if no element?
if (that.element) {
that.element.innerHTML = '';
}
return that;
}
/* /*
* TODO: * TODO:
//* - add spec or description to results
//* - spec.execute needs to wait until the spec is done
//* - an async test will be killed after X ms if not done and then listed as failed with an "async fail" message of some sort
//* - Suite to run tests in order, constructed with a function called describe
* - Suite supports before
* - Suite supports after
//* - Suite supports beforeEach
//* - Suite supports afterEach
//* - Suite rolls up spec results
//* - Suite supports asynch
//* - Runner that runs suites in order
//* - Runner supports async
* - HTML reporter * - HTML reporter
* - Shows pass/fail progress (just like bootstrap reporter) * - Shows pass/fail progress (just like bootstrap reporter)
* - Lists a Summary: total # specs, # of passed, # of failed * - Lists a Summary: total # specs, # of passed, # of failed
* - Failed reports lists all specs that failed and what the failure was * - Failed reports lists all specs that failed and what the failure was
* - Failed output is styled with red * - Failed output is styled with red
* - JSON reporter
* - Lists full results as a JSON object/string
*/ */

View File

@ -1,28 +1,3 @@
JasmineReporters.reporter = function (elementId) {
var that = {
element: document.getElementById(elementId),
output: '',
addResults: function (results) { that.output = ''; },
addSpecResults: function (results) { that.output = ''; },
report: function () {
if (that.element) {
that.element.innerHTML += that.output;
}
return that.output;
}
}
// TODO: throw if no element?
if (that.element) {
that.element.innerHTML = '';
}
return that;
}
JasmineReporters.JSON = function (elementId) { JasmineReporters.JSON = function (elementId) {
var that = JasmineReporters.reporter(elementId); var that = JasmineReporters.reporter(elementId);