diff --git a/Gemfile b/Gemfile index 6f7be490..9edad99b 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' gem "jasmine", :git => 'https://github.com/pivotal/jasmine-gem.git' -#gem "jasmine", path: "/Users/pivotal/workspace/jasmine-gem" +# gem "jasmine", path: "/Users/pivotal/workspace/jasmine-gem" unless ENV["TRAVIS"] group :debug do gem 'debugger' @@ -8,3 +8,5 @@ unless ENV["TRAVIS"] end gemspec + +gem "jasmine_selenium_runner", :git => 'https://github.com/jasmine/jasmine_selenium_runner.git' diff --git a/Rakefile b/Rakefile index a5661869..2f052611 100644 --- a/Rakefile +++ b/Rakefile @@ -2,10 +2,7 @@ require "bundler" Bundler::GemHelper.install_tasks require "json" require "jasmine" - -Dir["#{File.dirname(__FILE__)}/tasks/**/*.rb"].each do |file| - require file -end +load "jasmine/tasks/jasmine.rake" # TODO: Is there better way to invoke this using Jasmine gem??? desc "Run jasmine core specs in a browser." @@ -14,28 +11,3 @@ task :core_spec do end task :default => :core_spec -namespace :jasmine do - task :server do - port = ENV['JASMINE_PORT'] || 8888 - jasmine_yml = ENV['JASMINE_YML'] || 'jasmine.yml' - Jasmine.load_configuration_from_yaml(File.join(Dir.pwd, 'spec', jasmine_yml)) - config = Jasmine.config - server = Jasmine::Server.new(port, Jasmine::Application.app(config)) - server.start - - puts "your tests are here:" - puts " http://localhost:#{port}/" - end - - desc "Copy examples from Jasmine JS to the gem" - task :copy_examples_to_gem do - require "fileutils" - - # copy jasmine's example tree into our generator templates dir - FileUtils.rm_r('generators/jasmine/templates/jasmine-example', :force => true) - FileUtils.cp_r(File.join(Jasmine::Core.path, 'example'), 'generators/jasmine/templates/jasmine-example', :preserve => true) - end -end - -desc "Run specs via server" -task :jasmine => ['jasmine:server'] diff --git a/jasmine-core.gemspec b/jasmine-core.gemspec index 63c5dc2c..ea1494cf 100644 --- a/jasmine-core.gemspec +++ b/jasmine-core.gemspec @@ -16,13 +16,7 @@ Gem::Specification.new do |s| s.files = Dir.glob("./lib/**/*") + Dir.glob("./lib/jasmine-core/spec/**/*.js") s.require_paths = ["lib"] - s.add_development_dependency "json_pure", ">= 1.4.3" - s.add_development_dependency "sass" - s.add_development_dependency "compass" - s.add_development_dependency "rspec" s.add_development_dependency "rake" - s.add_development_dependency "fuubar" - s.add_development_dependency "awesome_print" - s.add_development_dependency "nokogiri" s.add_development_dependency "sauce-connect" + s.add_development_dependency "jasmine_selenium_runner" end diff --git a/spec/jasmine_self_test_spec.rb b/spec/jasmine_self_test_spec.rb index 29fec3f7..f43d0699 100644 --- a/spec/jasmine_self_test_spec.rb +++ b/spec/jasmine_self_test_spec.rb @@ -2,7 +2,7 @@ require 'rubygems' require 'bundler/setup' require 'jasmine' -Jasmine.load_configuration_from_yaml(File.join(Dir.pwd, 'spec', 'jasmine.yml')) +Jasmine.load_configuration_from_yaml(File.join(Dir.pwd, 'spec', 'javascripts', 'support', 'jasmine.yml')) config = Jasmine.config browser = ENV['JASMINE_BROWSER'] || 'firefox' diff --git a/spec/console/ConsoleReporterSpec.js b/spec/javascripts/console/ConsoleReporterSpec.js similarity index 100% rename from spec/console/ConsoleReporterSpec.js rename to spec/javascripts/console/ConsoleReporterSpec.js diff --git a/spec/core/AnySpec.js b/spec/javascripts/core/AnySpec.js similarity index 100% rename from spec/core/AnySpec.js rename to spec/javascripts/core/AnySpec.js diff --git a/spec/core/CallTrackerSpec.js b/spec/javascripts/core/CallTrackerSpec.js similarity index 100% rename from spec/core/CallTrackerSpec.js rename to spec/javascripts/core/CallTrackerSpec.js diff --git a/spec/core/ClockSpec.js b/spec/javascripts/core/ClockSpec.js similarity index 100% rename from spec/core/ClockSpec.js rename to spec/javascripts/core/ClockSpec.js diff --git a/spec/core/CustomMatchersSpec.js b/spec/javascripts/core/CustomMatchersSpec.js similarity index 100% rename from spec/core/CustomMatchersSpec.js rename to spec/javascripts/core/CustomMatchersSpec.js diff --git a/spec/core/DelayedFunctionSchedulerSpec.js b/spec/javascripts/core/DelayedFunctionSchedulerSpec.js similarity index 100% rename from spec/core/DelayedFunctionSchedulerSpec.js rename to spec/javascripts/core/DelayedFunctionSchedulerSpec.js diff --git a/spec/core/EnvSpec.js b/spec/javascripts/core/EnvSpec.js similarity index 100% rename from spec/core/EnvSpec.js rename to spec/javascripts/core/EnvSpec.js diff --git a/spec/core/ExceptionFormatterSpec.js b/spec/javascripts/core/ExceptionFormatterSpec.js similarity index 100% rename from spec/core/ExceptionFormatterSpec.js rename to spec/javascripts/core/ExceptionFormatterSpec.js diff --git a/spec/core/ExceptionsSpec.js b/spec/javascripts/core/ExceptionsSpec.js similarity index 100% rename from spec/core/ExceptionsSpec.js rename to spec/javascripts/core/ExceptionsSpec.js diff --git a/spec/core/ExpectationResultSpec.js b/spec/javascripts/core/ExpectationResultSpec.js similarity index 100% rename from spec/core/ExpectationResultSpec.js rename to spec/javascripts/core/ExpectationResultSpec.js diff --git a/spec/core/ExpectationSpec.js b/spec/javascripts/core/ExpectationSpec.js similarity index 100% rename from spec/core/ExpectationSpec.js rename to spec/javascripts/core/ExpectationSpec.js diff --git a/spec/core/JsApiReporterSpec.js b/spec/javascripts/core/JsApiReporterSpec.js similarity index 100% rename from spec/core/JsApiReporterSpec.js rename to spec/javascripts/core/JsApiReporterSpec.js diff --git a/spec/core/ObjectContainingSpec.js b/spec/javascripts/core/ObjectContainingSpec.js similarity index 100% rename from spec/core/ObjectContainingSpec.js rename to spec/javascripts/core/ObjectContainingSpec.js diff --git a/spec/core/PrettyPrintSpec.js b/spec/javascripts/core/PrettyPrintSpec.js similarity index 100% rename from spec/core/PrettyPrintSpec.js rename to spec/javascripts/core/PrettyPrintSpec.js diff --git a/spec/core/QueueRunnerSpec.js b/spec/javascripts/core/QueueRunnerSpec.js similarity index 100% rename from spec/core/QueueRunnerSpec.js rename to spec/javascripts/core/QueueRunnerSpec.js diff --git a/spec/core/ReportDispatcherSpec.js b/spec/javascripts/core/ReportDispatcherSpec.js similarity index 100% rename from spec/core/ReportDispatcherSpec.js rename to spec/javascripts/core/ReportDispatcherSpec.js diff --git a/spec/core/SpecRunningSpec.js b/spec/javascripts/core/SpecRunningSpec.js similarity index 100% rename from spec/core/SpecRunningSpec.js rename to spec/javascripts/core/SpecRunningSpec.js diff --git a/spec/core/SpecSpec.js b/spec/javascripts/core/SpecSpec.js similarity index 100% rename from spec/core/SpecSpec.js rename to spec/javascripts/core/SpecSpec.js diff --git a/spec/core/SpySpec.js b/spec/javascripts/core/SpySpec.js similarity index 100% rename from spec/core/SpySpec.js rename to spec/javascripts/core/SpySpec.js diff --git a/spec/core/SpyStrategySpec.js b/spec/javascripts/core/SpyStrategySpec.js similarity index 100% rename from spec/core/SpyStrategySpec.js rename to spec/javascripts/core/SpyStrategySpec.js diff --git a/spec/core/SuiteSpec.js b/spec/javascripts/core/SuiteSpec.js similarity index 100% rename from spec/core/SuiteSpec.js rename to spec/javascripts/core/SuiteSpec.js diff --git a/spec/core/TimerSpec.js b/spec/javascripts/core/TimerSpec.js similarity index 100% rename from spec/core/TimerSpec.js rename to spec/javascripts/core/TimerSpec.js diff --git a/spec/core/UtilSpec.js b/spec/javascripts/core/UtilSpec.js similarity index 100% rename from spec/core/UtilSpec.js rename to spec/javascripts/core/UtilSpec.js diff --git a/spec/core/matchers/matchersUtilSpec.js b/spec/javascripts/core/matchers/matchersUtilSpec.js similarity index 100% rename from spec/core/matchers/matchersUtilSpec.js rename to spec/javascripts/core/matchers/matchersUtilSpec.js diff --git a/spec/core/matchers/toBeCloseToSpec.js b/spec/javascripts/core/matchers/toBeCloseToSpec.js similarity index 100% rename from spec/core/matchers/toBeCloseToSpec.js rename to spec/javascripts/core/matchers/toBeCloseToSpec.js diff --git a/spec/core/matchers/toBeDefinedSpec.js b/spec/javascripts/core/matchers/toBeDefinedSpec.js similarity index 100% rename from spec/core/matchers/toBeDefinedSpec.js rename to spec/javascripts/core/matchers/toBeDefinedSpec.js diff --git a/spec/core/matchers/toBeFalsySpec.js b/spec/javascripts/core/matchers/toBeFalsySpec.js similarity index 100% rename from spec/core/matchers/toBeFalsySpec.js rename to spec/javascripts/core/matchers/toBeFalsySpec.js diff --git a/spec/core/matchers/toBeGreaterThanSpec.js b/spec/javascripts/core/matchers/toBeGreaterThanSpec.js similarity index 100% rename from spec/core/matchers/toBeGreaterThanSpec.js rename to spec/javascripts/core/matchers/toBeGreaterThanSpec.js diff --git a/spec/core/matchers/toBeLessThanSpec.js b/spec/javascripts/core/matchers/toBeLessThanSpec.js similarity index 100% rename from spec/core/matchers/toBeLessThanSpec.js rename to spec/javascripts/core/matchers/toBeLessThanSpec.js diff --git a/spec/core/matchers/toBeNaNSpec.js b/spec/javascripts/core/matchers/toBeNaNSpec.js similarity index 100% rename from spec/core/matchers/toBeNaNSpec.js rename to spec/javascripts/core/matchers/toBeNaNSpec.js diff --git a/spec/core/matchers/toBeNullSpec.js b/spec/javascripts/core/matchers/toBeNullSpec.js similarity index 100% rename from spec/core/matchers/toBeNullSpec.js rename to spec/javascripts/core/matchers/toBeNullSpec.js diff --git a/spec/core/matchers/toBeSpec.js b/spec/javascripts/core/matchers/toBeSpec.js similarity index 100% rename from spec/core/matchers/toBeSpec.js rename to spec/javascripts/core/matchers/toBeSpec.js diff --git a/spec/core/matchers/toBeTruthySpec.js b/spec/javascripts/core/matchers/toBeTruthySpec.js similarity index 100% rename from spec/core/matchers/toBeTruthySpec.js rename to spec/javascripts/core/matchers/toBeTruthySpec.js diff --git a/spec/core/matchers/toBeUndefinedSpec.js b/spec/javascripts/core/matchers/toBeUndefinedSpec.js similarity index 100% rename from spec/core/matchers/toBeUndefinedSpec.js rename to spec/javascripts/core/matchers/toBeUndefinedSpec.js diff --git a/spec/core/matchers/toContainSpec.js b/spec/javascripts/core/matchers/toContainSpec.js similarity index 100% rename from spec/core/matchers/toContainSpec.js rename to spec/javascripts/core/matchers/toContainSpec.js diff --git a/spec/core/matchers/toEqualSpec.js b/spec/javascripts/core/matchers/toEqualSpec.js similarity index 100% rename from spec/core/matchers/toEqualSpec.js rename to spec/javascripts/core/matchers/toEqualSpec.js diff --git a/spec/core/matchers/toHaveBeenCalledSpec.js b/spec/javascripts/core/matchers/toHaveBeenCalledSpec.js similarity index 100% rename from spec/core/matchers/toHaveBeenCalledSpec.js rename to spec/javascripts/core/matchers/toHaveBeenCalledSpec.js diff --git a/spec/core/matchers/toHaveBeenCalledWithSpec.js b/spec/javascripts/core/matchers/toHaveBeenCalledWithSpec.js similarity index 100% rename from spec/core/matchers/toHaveBeenCalledWithSpec.js rename to spec/javascripts/core/matchers/toHaveBeenCalledWithSpec.js diff --git a/spec/core/matchers/toMatchSpec.js b/spec/javascripts/core/matchers/toMatchSpec.js similarity index 100% rename from spec/core/matchers/toMatchSpec.js rename to spec/javascripts/core/matchers/toMatchSpec.js diff --git a/spec/core/matchers/toThrowErrorSpec.js b/spec/javascripts/core/matchers/toThrowErrorSpec.js similarity index 100% rename from spec/core/matchers/toThrowErrorSpec.js rename to spec/javascripts/core/matchers/toThrowErrorSpec.js diff --git a/spec/core/matchers/toThrowSpec.js b/spec/javascripts/core/matchers/toThrowSpec.js similarity index 100% rename from spec/core/matchers/toThrowSpec.js rename to spec/javascripts/core/matchers/toThrowSpec.js diff --git a/spec/helpers/BrowserFlags.js b/spec/javascripts/helpers/BrowserFlags.js similarity index 100% rename from spec/helpers/BrowserFlags.js rename to spec/javascripts/helpers/BrowserFlags.js diff --git a/spec/html/HtmlReporterSpec.js b/spec/javascripts/html/HtmlReporterSpec.js similarity index 100% rename from spec/html/HtmlReporterSpec.js rename to spec/javascripts/html/HtmlReporterSpec.js diff --git a/spec/html/HtmlSpecFilterSpec.js b/spec/javascripts/html/HtmlSpecFilterSpec.js similarity index 100% rename from spec/html/HtmlSpecFilterSpec.js rename to spec/javascripts/html/HtmlSpecFilterSpec.js diff --git a/spec/html/MatchersHtmlSpec.js b/spec/javascripts/html/MatchersHtmlSpec.js similarity index 100% rename from spec/html/MatchersHtmlSpec.js rename to spec/javascripts/html/MatchersHtmlSpec.js diff --git a/spec/html/PrettyPrintHtmlSpec.js b/spec/javascripts/html/PrettyPrintHtmlSpec.js similarity index 100% rename from spec/html/PrettyPrintHtmlSpec.js rename to spec/javascripts/html/PrettyPrintHtmlSpec.js diff --git a/spec/html/QueryStringSpec.js b/spec/javascripts/html/QueryStringSpec.js similarity index 100% rename from spec/html/QueryStringSpec.js rename to spec/javascripts/html/QueryStringSpec.js diff --git a/spec/html/ResultsNodeSpec.js b/spec/javascripts/html/ResultsNodeSpec.js similarity index 100% rename from spec/html/ResultsNodeSpec.js rename to spec/javascripts/html/ResultsNodeSpec.js diff --git a/spec/performance/performance_test.js b/spec/javascripts/performance/performance_test.js similarity index 100% rename from spec/performance/performance_test.js rename to spec/javascripts/performance/performance_test.js diff --git a/spec/support/dev_boot.js b/spec/javascripts/support/dev_boot.js similarity index 100% rename from spec/support/dev_boot.js rename to spec/javascripts/support/dev_boot.js diff --git a/spec/jasmine-performance.yml b/spec/javascripts/support/jasmine-performance.yml similarity index 81% rename from spec/jasmine-performance.yml rename to spec/javascripts/support/jasmine-performance.yml index ccf0aea7..cd6ad417 100644 --- a/spec/jasmine-performance.yml +++ b/spec/javascripts/support/jasmine-performance.yml @@ -2,7 +2,7 @@ src_dir: - 'src' src_files: - '**/*.js' -boot_dir: 'spec/support' +boot_dir: 'spec/javascripts/support' boot_files: - 'dev_boot.js' helpers: @@ -10,6 +10,5 @@ helpers: spec_files: - 'performance/performance_test.js' spec_dir: - - 'spec' diff --git a/spec/jasmine.yml b/spec/javascripts/support/jasmine.yml similarity index 93% rename from spec/jasmine.yml rename to spec/javascripts/support/jasmine.yml index 7c332ee2..262dd8c9 100644 --- a/spec/jasmine.yml +++ b/spec/javascripts/support/jasmine.yml @@ -15,7 +15,7 @@ src_files: - 'html/**.js' - '**/*.js' stylesheets: -boot_dir: 'spec/support' +boot_dir: 'spec/javascripts/support' boot_files: - 'dev_boot.js' helpers: @@ -23,6 +23,5 @@ helpers: spec_files: - '**/*[Ss]pec.js' spec_dir: - - 'spec' diff --git a/spec/node_suite.js b/spec/node_suite.js index c67bddc0..fedf61d2 100644 --- a/spec/node_suite.js +++ b/spec/node_suite.js @@ -169,10 +169,10 @@ process.argv.forEach(function(arg) { specs = []; if (perfSuite) { - specs = getFiles(__dirname + '/performance', new RegExp("test.js$")); + specs = getFiles(__dirname + '/javascripts/performance', new RegExp("test.js$")); } else { - var consoleSpecs = getSpecFiles(__dirname + "/console"), - coreSpecs = getSpecFiles(__dirname + "/core"), + var consoleSpecs = getSpecFiles(__dirname + "/javascripts/console"), + coreSpecs = getSpecFiles(__dirname + "/javascripts/core"), specs = consoleSpecs.concat(coreSpecs); } diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb deleted file mode 100644 index 5abda95f..00000000 --- a/spec/spec_helper.rb +++ /dev/null @@ -1,49 +0,0 @@ -# This file was generated by the `rspec --init` command. Conventionally, all -# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. -# Require this file using `require "spec_helper.rb"` to ensure that it is only -# loaded once. -# -# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration -RSpec.configure do |config| - config.treat_symbols_as_metadata_keys_with_true_values = true - config.run_all_when_everything_filtered = true - config.filter_run :focus -end - -require 'awesome_print' -require 'tmpdir' -require 'nokogiri' - -def project_root - File.join(File.expand_path(File.dirname(__FILE__)), '..') -end - -def capture_output(capture = true) - if capture - output = StringIO.new - $stdout = output - end - yield - if capture - output.string - end -ensure - $stdout = STDOUT -end - -def reset_dir(dir) - FileUtils.rm_r dir if File.exists?(dir) - FileUtils.mkdir_p dir -end - -def jasmine_version - version = jasmine_version_object - - version_string = "#{version['major']}.#{version['minor']}.#{version['build']}" - version_string += ".rc#{version['release_candidate']}" if version['release_candidate'] - version_string -end - -def jasmine_version_object - @version_object ||= JSON.parse(File.read(File.join(JasmineDev.project_root, 'src', 'version.json'))) -end \ No newline at end of file