Parcourir la source

Check for existence of engines before running tests, better logging

tags/0.4.0
Ben Cherry il y a 14 ans
Parent
révision
4fd1b8bd3b
2 fichiers modifiés avec 53 ajouts et 8 suppressions
  1. +0
    -0
      foo
  2. +53
    -8
      test/mustache_spec.rb

+ 0
- 0
foo Voir le fichier


+ 53
- 8
test/mustache_spec.rb Voir le fichier

@@ -22,11 +22,17 @@ def load_test(dir, name, partial=false)
end
end

JSC_PATH = "/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc"
RHINO_JAR = "org.mozilla.javascript.tools.shell.Main"

engines_run = 0

describe "mustache" do

shared_examples_for "Mustache rendering" do

before(:all) do
engines_run += 1
mustache = File.read(__DIR__ + "/../mustache.js")
stubbed_gettext = <<-JS
// Stubbed gettext translation method for {{_i}}{{/i}} tags in Mustache.
@@ -168,18 +174,57 @@ describe "mustache" do
end

context "running in JavaScriptCore (WebKit, Safari)" do
before(:each) do
@run_js = :run_js_jsc
if File.exists?(JSC_PATH)
before(:each) do
@run_js = :run_js_jsc
end

before(:all) do
puts "\nTesting mustache.js in JavaScriptCore:\n"
end

after(:all) do
puts "\nDone\n"
end

it_should_behave_like "Mustache rendering"
else
puts "\nSkipping tests in JavaScriptCore (jsc not found)\n"
end
it_should_behave_like "Mustache rendering"
end

context "running in Rhino (Mozilla)" do
before(:each) do
@run_js = :run_js_rhino
if !`java #{RHINO_JAR} 'foo' 2>&1`.match(/ClassNotFoundException/)
before(:each) do
@run_js = :run_js_rhino
end

before(:all) do
puts "\nTesting mustache.js in Rhino:\n"
end

after(:all) do
puts "\nDone\n"
end

it_should_behave_like "Mustache rendering"
else
puts "\nSkipping tests in Rhino (JAR #{RHINO_JAR} was not found)\n"
end
end

context "suite" do
before(:all) do
puts "\nVerifying that we ran at the tests in at least one engine\n"
end

it_should_behave_like "Mustache rendering"
after(:all) do
puts "\nDone\n"
end

it "should have run at least one time" do
engines_run.should > 0
end
end

def run_js(runner, js)
@@ -188,12 +233,12 @@ describe "mustache" do

def run_js_jsc(js)
File.open("runner.js", 'w') {|f| f << js}
`/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc runner.js`
`#{JSC_PATH} runner.js`
end

def run_js_rhino(js)
File.open("runner.js", 'w') {|f| f << js}
`java org.mozilla.javascript.tools.shell.Main runner.js`
`java #{RHINO_JAR} runner.js`
end
end


Chargement…
Annuler
Enregistrer