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