Class: Jasminerice::Runner

Inherits:
Object
  • Object
show all
Includes:
Capybara::DSL
Defined in:
lib/jasminerice-runner.rb,
lib/jasminerice-runner/runner.rb,
lib/jasminerice-runner/version.rb

Constant Summary collapse

VERSION =
"0.0.3"

Instance Method Summary collapse

Instance Method Details

#capybara_driverObject



6
7
8
# File 'lib/jasminerice-runner/runner.rb', line 6

def capybara_driver
  self.class.capybara_driver || :selenium
end

#runObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/jasminerice-runner/runner.rb', line 10

def run
  Capybara.default_driver = capybara_driver
  visit "/jasmine"
  puts "Running jasmine specs"
  wait_until { page.evaluate_script("window.jasmineRiceReporter.finished")}
  passed = page.evaluate_script("window.jasmineRiceReporter.results.passedCount")
  failed = page.evaluate_script("window.jasmineRiceReporter.results.failedCount")
  total = page.evaluate_script("window.jasmineRiceReporter.results.totalCount")
  failures = page.evaluate_script("window.jasmineRiceReporter.failedSpecs")
  puts "Jasmine results - Passed: #{passed} Failed: #{failed} Total: #{total}"
  if failures.size > 0
    puts 'Jasmine failures:  '
    for suiteName,suiteFailures in failures
      puts "  " + suiteName + "\n"
      for specName,specFailures in suiteFailures
        puts "    " + specName + "\n"
        for specFailure in specFailures
          puts "      " + specFailure + "\n"
        end
      end
      puts "\n"
    end
  end
  
  if page.evaluate_script("window.jasmineRiceReporter.results.failedCount") == 0
    puts "Jasmine specs passed, yay!"
  else
    raise "Jasmine specs failed"
  end
end