lib/assets/javascripts/opal/spec/browser_formatter.rb in opal-spec-0.2.8 vs lib/assets/javascripts/opal/spec/browser_formatter.rb in opal-spec-0.2.9
- old
+ new
@@ -1,194 +1,192 @@
-module Opal
- module Spec
- class BrowserFormatter
- CSS = <<-EOS
+module Spec
+ class BrowserFormatter
+ CSS = <<-EOS
- body {
- font-size: 14px;
- font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
- }
+ body {
+ font-size: 14px;
+ font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
+ }
- pre {
- font-family: "Bitstream Vera Sans Mono", Monaco, "Lucida Console", monospace;
- font-size: 12px;
- color: #444444;
- white-space: pre;
- padding: 3px 0px 3px 12px;
- margin: 0px 0px 8px;
+ pre {
+ font-family: "Bitstream Vera Sans Mono", Monaco, "Lucida Console", monospace;
+ font-size: 12px;
+ color: #444444;
+ white-space: pre;
+ padding: 3px 0px 3px 12px;
+ margin: 0px 0px 8px;
- background: #FAFAFA;
- -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- border: 1px solid #DDDDDD;
- }
+ background: #FAFAFA;
+ -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ border: 1px solid #DDDDDD;
+ }
- ul.example_groups {
- list-style-type: none;
- }
+ ul.example_groups {
+ list-style-type: none;
+ }
- li.group.passed .group_description {
- color: #597800;
- font-weight: bold;
- }
+ li.group.passed .group_description {
+ color: #597800;
+ font-weight: bold;
+ }
- li.group.failed .group_description {
- color: #FF000E;
- font-weight: bold;
- }
+ li.group.failed .group_description {
+ color: #FF000E;
+ font-weight: bold;
+ }
- li.example.passed {
- color: #597800;
- }
+ li.example.passed {
+ color: #597800;
+ }
- li.example.failed {
- color: #FF000E;
- }
+ li.example.failed {
+ color: #FF000E;
+ }
- .examples {
- list-style-type: none;
- }
- EOS
+ .examples {
+ list-style-type: none;
+ }
+ EOS
- def initialize
- @examples = []
- @failed_examples = []
- end
+ def initialize
+ @examples = []
+ @failed_examples = []
+ end
- def start
- %x{
- if (!document || !document.body) {
- #{ raise "Not running in browser." };
- }
+ def start
+ %x{
+ if (!document || !document.body) {
+ #{ raise "Not running in browser." };
+ }
- var summary_element = document.createElement('p');
- summary_element.className = 'summary';
- summary_element.innerHTML = "Running...";
+ var summary_element = document.createElement('p');
+ summary_element.className = 'summary';
+ summary_element.innerHTML = "Running...";
- var groups_element = document.createElement('ul');
- groups_element.className = 'example_groups';
+ var groups_element = document.createElement('ul');
+ groups_element.className = 'example_groups';
- var target = document.getElementById('opal-spec-output');
+ var target = document.getElementById('opal-spec-output');
- if (!target) {
- target = document.body;
- }
+ if (!target) {
+ target = document.body;
+ }
- target.appendChild(summary_element);
- target.appendChild(groups_element);
+ target.appendChild(summary_element);
+ target.appendChild(groups_element);
- var styles = document.createElement('style');
- styles.type = 'text/css';
+ var styles = document.createElement('style');
+ styles.type = 'text/css';
- if (styles.styleSheet) {
- styles.styleSheet.cssText = __scope.CSS;
- }
- else {
- styles.appendChild(document.createTextNode(__scope.CSS));
- }
-
- document.getElementsByTagName('head')[0].appendChild(styles);
+ if (styles.styleSheet) {
+ styles.styleSheet.cssText = __scope.CSS;
}
+ else {
+ styles.appendChild(document.createTextNode(__scope.CSS));
+ }
- @start_time = Time.now.to_f
- @groups_element = `groups_element`
- @summary_element = `summary_element`
- end
+ document.getElementsByTagName('head')[0].appendChild(styles);
+ }
- def finish
- time = Time.now.to_f - @start_time
- text = "\n#{example_count} examples, #{@failed_examples.size} failures (time taken: #{time})"
- `#{@summary_element}.innerHTML = text`
- end
+ @start_time = Time.now.to_f
+ @groups_element = `groups_element`
+ @summary_element = `summary_element`
+ end
- def example_group_started group
- @example_group = group
- @example_group_failed = false
+ def finish
+ time = Time.now.to_f - @start_time
+ text = "\n#{example_count} examples, #{@failed_examples.size} failures (time taken: #{time})"
+ `#{@summary_element}.innerHTML = text`
+ end
- %x{
- var group_element = document.createElement('li');
+ def example_group_started group
+ @example_group = group
+ @example_group_failed = false
- var description = document.createElement('span');
- description.className = 'group_description';
- description.innerHTML = #{group.description.to_s};
- group_element.appendChild(description);
+ %x{
+ var group_element = document.createElement('li');
- var example_list = document.createElement('ul');
- example_list.className = 'examples';
- group_element.appendChild(example_list);
+ var description = document.createElement('span');
+ description.className = 'group_description';
+ description.innerHTML = #{group.description.to_s};
+ group_element.appendChild(description);
- #@groups_element.appendChild(group_element);
- }
+ var example_list = document.createElement('ul');
+ example_list.className = 'examples';
+ group_element.appendChild(example_list);
- @group_element = `group_element`
- @example_list = `example_list`
- end
+ #@groups_element.appendChild(group_element);
+ }
- def example_group_finished group
- if @example_group_failed
- `#@group_element.className = 'group failed';`
- else
- `#@group_element.className = 'group passed';`
- end
- end
+ @group_element = `group_element`
+ @example_list = `example_list`
+ end
- def example_started example
- @examples << example
- @example = example
+ def example_group_finished group
+ if @example_group_failed
+ `#@group_element.className = 'group failed';`
+ else
+ `#@group_element.className = 'group passed';`
end
+ end
- def example_failed example
- @failed_examples << example
- @example_group_failed = true
+ def example_started example
+ @examples << example
+ @example = example
+ end
- exception = example.exception
+ def example_failed example
+ @failed_examples << example
+ @example_group_failed = true
- case exception
- when Opal::Spec::ExpectationNotMetError
- output = exception.message
- else
- output = "#{exception.class.name}: #{exception.message}\n"
- output += " #{exception.backtrace.join "\n "}\n"
- end
+ exception = example.exception
- %x{
- var wrapper = document.createElement('li');
- wrapper.className = 'example failed';
+ case exception
+ when Spec::ExpectationNotMetError
+ output = exception.message
+ else
+ output = "#{exception.class.name}: #{exception.message}\n"
+ output += " #{exception.backtrace.join "\n "}\n"
+ end
- var description = document.createElement('span');
- description.className = 'example_description';
- description.innerHTML = #{example.description};
+ %x{
+ var wrapper = document.createElement('li');
+ wrapper.className = 'example failed';
- var exception = document.createElement('pre');
- exception.className = 'exception';
- exception.innerHTML = output;
+ var description = document.createElement('span');
+ description.className = 'example_description';
+ description.innerHTML = #{example.description};
- wrapper.appendChild(description);
- wrapper.appendChild(exception);
+ var exception = document.createElement('pre');
+ exception.className = 'exception';
+ exception.innerHTML = output;
- #@example_list.appendChild(wrapper);
- #@example_list.style.display = 'list-item';
- }
- end
+ wrapper.appendChild(description);
+ wrapper.appendChild(exception);
- def example_passed example
- %x{
- var wrapper = document.createElement('li');
- wrapper.className = 'example passed';
+ #@example_list.appendChild(wrapper);
+ #@example_list.style.display = 'list-item';
+ }
+ end
- var description = document.createElement('span');
- description.className = 'example_description';
- description.innerHTML = #{example.description};
+ def example_passed example
+ %x{
+ var wrapper = document.createElement('li');
+ wrapper.className = 'example passed';
- wrapper.appendChild(description);
- #@example_list.appendChild(wrapper);
- }
- end
+ var description = document.createElement('span');
+ description.className = 'example_description';
+ description.innerHTML = #{example.description};
- def example_count
- @examples.size
- end
+ wrapper.appendChild(description);
+ #@example_list.appendChild(wrapper);
+ }
+ end
+
+ def example_count
+ @examples.size
end
end
end