Skip to content

Commit b903ef1

Browse files
committed
Add jasmine:ci to default rake tasks for testing on Travis.
1 parent 796122a commit b903ef1

File tree

4 files changed

+29
-5
lines changed

4 files changed

+29
-5
lines changed

.travis.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
language: ruby
22
rvm:
3-
- 1.9.3
3+
- 1.9.3
4+
before_script:
5+
- "export DISPLAY=:99.0"
6+
- "sh -e /etc/init.d/xvfb start"

Gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ gemspec
44

55
gem "rspec-rails"
66
gem "jasmine"
7+
gem "headless"
78
gem "coffee-script"
89
gem "thin"
910
gem "eventmachine", ">= 1.0.0.beta.3"

Gemfile.lock

+2
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ GEM
7171
guard (>= 1.1.0)
7272
guard-rspec (1.1.0)
7373
guard (>= 1.1)
74+
headless (0.3.1)
7475
hike (1.2.1)
7576
i18n (0.6.0)
7677
jasmine (1.2.0)
@@ -178,6 +179,7 @@ DEPENDENCIES
178179
guard
179180
guard-coffeescript
180181
guard-rspec
182+
headless
181183
jasmine
182184
rake
183185
rspec-rails

Rakefile

+22-4
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ end
1717

1818
Bundler::GemHelper.install_tasks
1919

20-
task :default => :spec
21-
2220
RDoc::Task.new(:rdoc) do |rdoc|
2321
rdoc.rdoc_dir = 'rdoc'
2422
rdoc.title = 'websocket-rails'
@@ -29,14 +27,20 @@ end
2927

3028
require 'rspec/core/rake_task'
3129

32-
desc 'Default: run specs.'
33-
task :default => :spec
30+
desc 'Default: run RSpec and Jasmine specs.'
31+
task :default => :spec_and_jasmine
3432

3533
desc "Run specs"
3634
RSpec::Core::RakeTask.new do |t|
3735
t.pattern = "./spec/**/*_spec.rb"
3836
end
3937

38+
desc "Run rspec and jasmine:ci at the same time"
39+
task :spec_and_jasmine do
40+
Rake::Task["spec"].execute
41+
Rake::Task["jasmine:ci:headless"].execute
42+
end
43+
4044
desc "Generate code coverage"
4145
task :coverage do
4246
ENV['COVERAGE'] = 'true'
@@ -52,3 +56,17 @@ rescue LoadError
5256
abort "Jasmine is not available. In order to run jasmine, you must: (sudo) gem install jasmine"
5357
end
5458
end
59+
60+
require 'headless'
61+
require 'selenium-webdriver'
62+
63+
namespace :jasmine do
64+
namespace :ci do
65+
desc "Run Jasmine CI build headlessly"
66+
task :headless do
67+
ENV['DISPLAY'] = ':99.0'
68+
puts "Running Jasmine Headlessly"
69+
Rake::Task['jasmine:ci'].invoke
70+
end
71+
end
72+
end

0 commit comments

Comments
 (0)