diff --git a/.gitignore b/.gitignore index 9a18ea4cb..b2e862260 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ *.swp HTML .DS_Store +coverage/ diff --git a/admin/.simplecov b/admin/.simplecov new file mode 100644 index 000000000..dfe6c4166 --- /dev/null +++ b/admin/.simplecov @@ -0,0 +1,46 @@ +if ENV['COVERAGE'] == "1" + + require 'simplecov-rcov' + class SimpleCov::Formatter::MergedFormatter + def format(result) + SimpleCov::Formatter::HTMLFormatter.new.format(result) + SimpleCov::Formatter::RcovFormatter.new.format(result) + end + end + + SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter + + SimpleCov.start do + add_filter "/test/" + add_filter "/bin/" + add_filter "/scripts/" + add_filter "/tmp/" + add_filter "/vendor/" + add_filter "/spec/" + end + + all_files = Dir['**/*.rb'] + base_result = {} + all_files.each do |file| + absolute = File::expand_path(file) + lines = File.readlines(absolute, :encoding => 'UTF-8') + base_result[absolute] = lines.map do |l| + l.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '') + l.encode!('UTF-8', 'UTF-16') + l.strip! + l.empty? || l =~ /^end$/ || l[0] == '#' ? nil : 0 + end + end + + SimpleCov.at_exit do + coverage_result = Coverage.result + covered_files = coverage_result.keys + covered_files.each do |covered_file| + base_result.delete(covered_file) + end + merged = SimpleCov::Result.new(coverage_result).original_result.merge_resultset(base_result) + result = SimpleCov::Result.new(merged) + result.format! + end + +end diff --git a/admin/Gemfile b/admin/Gemfile index 498c95427..f310b9cf3 100644 --- a/admin/Gemfile +++ b/admin/Gemfile @@ -51,7 +51,7 @@ gem 'aasm', '3.0.16' gem 'postgres-copy', '0.6.0' gem 'aws-sdk', '1.29.1' gem 'bugsnag' -gem 'gon', '5.0.1' # '5.0.3' has an issue with setting globals in an initializer +gem 'gon' gem 'cocoon' gem 'haml-rails' gem 'resque' @@ -108,3 +108,9 @@ group :development, :test do gem 'database_cleaner', '0.7.0' gem 'launchy' end + +group :test do + gem 'simplecov', '~> 0.7.1' + gem 'simplecov-rcov' +end + diff --git a/admin/app/admin/promo_latest.rb b/admin/app/admin/promo_latest.rb index f31aa2e46..22ae49575 100644 --- a/admin/app/admin/promo_latest.rb +++ b/admin/app/admin/promo_latest.rb @@ -37,7 +37,7 @@ ActiveAdmin.register JamRuby::PromoLatest, :as => 'Latest' do def create promo = PromoLatest.create_with_params(params[:jam_ruby_promo_latest]) - redirect_to('/admin/admin/latests') + redirect_to('/admin/latests') end def edit @@ -48,7 +48,7 @@ ActiveAdmin.register JamRuby::PromoLatest, :as => 'Latest' do def update resource.update_with_params(params[:jam_ruby_promo_latest]).save! - redirect_to('/admin/admin/latests') + redirect_to('/admin/latests') end end diff --git a/admin/spec/spec_helper.rb b/admin/spec/spec_helper.rb index 7bded3dc9..f7ddad41a 100644 --- a/admin/spec/spec_helper.rb +++ b/admin/spec/spec_helper.rb @@ -1,6 +1,5 @@ - ENV["RAILS_ENV"] ||= 'test' - +require 'simplecov' # provision database require 'active_record' diff --git a/web/.simplecov b/web/.simplecov new file mode 100644 index 000000000..1091e3c7a --- /dev/null +++ b/web/.simplecov @@ -0,0 +1,47 @@ +if ENV['COVERAGE'] == "1" + + require 'simplecov-rcov' + class SimpleCov::Formatter::MergedFormatter + def format(result) + SimpleCov::Formatter::HTMLFormatter.new.format(result) + SimpleCov::Formatter::RcovFormatter.new.format(result) + end + end + + SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter + + SimpleCov.start do + add_filter "/test/" + add_filter "/bin/" + add_filter "/scripts/" + add_filter "/tmp/" + add_filter "/vendor/" + add_filter "/spec/" + add_filter "/features/" + end + + all_files = Dir['**/*.rb'] + base_result = {} + all_files.each do |file| + absolute = File::expand_path(file) + lines = File.readlines(absolute, :encoding => 'UTF-8') + base_result[absolute] = lines.map do |l| + l.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '') + l.encode!('UTF-8', 'UTF-16') + l.strip! + l.empty? || l =~ /^end$/ || l[0] == '#' ? nil : 0 + end + end + + SimpleCov.at_exit do + coverage_result = Coverage.result + covered_files = coverage_result.keys + covered_files.each do |covered_file| + base_result.delete(covered_file) + end + merged = SimpleCov::Result.new(coverage_result).original_result.merge_resultset(base_result) + result = SimpleCov::Result.new(merged) + result.format! + end + +end diff --git a/web/Gemfile b/web/Gemfile index 0446f7dd6..002419488 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -92,6 +92,8 @@ group :assets do end group :test, :cucumber do + gem 'simplecov', '~> 0.7.1' + gem 'simplecov-rcov' gem 'capybara' #if ENV['JAMWEB_QT5'] == '1' # # necessary on platforms such as arch linux, where pacman -S qt5-webkit is your easiet option diff --git a/web/app/assets/stylesheets/client/account.css.scss b/web/app/assets/stylesheets/client/account.css.scss index 41d66aced..301d62411 100644 --- a/web/app/assets/stylesheets/client/account.css.scss +++ b/web/app/assets/stylesheets/client/account.css.scss @@ -124,8 +124,10 @@ box-shadow: none !important; color: #666666; width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; - -moz-box-sizing:border-box; } } diff --git a/web/app/assets/stylesheets/client/content.css.scss b/web/app/assets/stylesheets/client/content.css.scss index 807a4ae93..33debfe60 100644 --- a/web/app/assets/stylesheets/client/content.css.scss +++ b/web/app/assets/stylesheets/client/content.css.scss @@ -66,6 +66,9 @@ .content-body { height:100%; width:100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; padding-top: 29px; @@ -96,21 +99,33 @@ .filter-body { height:100%; width:100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; padding-top: 49px; } .profile-head { position: absolute; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; width:100%; } .profile-body { height:100%; width:100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; padding-top: 157px; > * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing:border-box; } } @@ -130,6 +145,9 @@ width:100%; padding:0 25px; line-height:25px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing:border-box; +.profile-wrapper { @@ -139,6 +157,9 @@ .profile-social-body { height:100%; width:100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing:border-box; padding-top:25px; .profile-social-body-wrapper { @@ -192,7 +213,7 @@ .content-wrapper, .dialog, .dialog-inner, .ftue-inner { - select, textarea, input[type=text], input[type=password], div.friendbox { + select, textarea, input[type=text], input[type=password], div.friendbox { font-family:"Raleway", arial, sans-serif; background-color:#c5c5c5; border:none; diff --git a/web/app/assets/stylesheets/client/profile.css.scss b/web/app/assets/stylesheets/client/profile.css.scss index 25fd0d7bf..9e24ce83b 100644 --- a/web/app/assets/stylesheets/client/profile.css.scss +++ b/web/app/assets/stylesheets/client/profile.css.scss @@ -202,6 +202,9 @@ position:relative; margin:10px 0px 10px 0px; padding-bottom:5px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing:border-box; .result-name { diff --git a/web/app/assets/stylesheets/client/recordingManager.css.scss b/web/app/assets/stylesheets/client/recordingManager.css.scss index 0e3edff76..c81ba1f8d 100644 --- a/web/app/assets/stylesheets/client/recordingManager.css.scss +++ b/web/app/assets/stylesheets/client/recordingManager.css.scss @@ -10,6 +10,9 @@ z-index:-1; .recording-manager-command { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; width:33%; margin:5px 10px; diff --git a/web/app/assets/stylesheets/custom.css.scss b/web/app/assets/stylesheets/custom.css.scss index 974ed3a85..96a023e01 100644 --- a/web/app/assets/stylesheets/custom.css.scss +++ b/web/app/assets/stylesheets/custom.css.scss @@ -5,8 +5,9 @@ $grayMediumLight: #eaeaea; @mixin box_sizing { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; } diff --git a/web/app/assets/stylesheets/users/signinDialog.css.scss b/web/app/assets/stylesheets/users/signinDialog.css.scss index 3bcb8cc63..2412813d3 100644 --- a/web/app/assets/stylesheets/users/signinDialog.css.scss +++ b/web/app/assets/stylesheets/users/signinDialog.css.scss @@ -51,6 +51,9 @@ } input[type=text], input[type=password]{ + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; box-sizing: border-box; } } \ No newline at end of file diff --git a/web/spec/spec_helper.rb b/web/spec/spec_helper.rb index 9aa9610a0..8ac3f7d4d 100644 --- a/web/spec/spec_helper.rb +++ b/web/spec/spec_helper.rb @@ -1,3 +1,4 @@ +require 'simplecov' require 'rubygems' require 'spork' require 'omniauth' diff --git a/websocket-gateway/.simplecov b/websocket-gateway/.simplecov new file mode 100644 index 000000000..dfe6c4166 --- /dev/null +++ b/websocket-gateway/.simplecov @@ -0,0 +1,46 @@ +if ENV['COVERAGE'] == "1" + + require 'simplecov-rcov' + class SimpleCov::Formatter::MergedFormatter + def format(result) + SimpleCov::Formatter::HTMLFormatter.new.format(result) + SimpleCov::Formatter::RcovFormatter.new.format(result) + end + end + + SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter + + SimpleCov.start do + add_filter "/test/" + add_filter "/bin/" + add_filter "/scripts/" + add_filter "/tmp/" + add_filter "/vendor/" + add_filter "/spec/" + end + + all_files = Dir['**/*.rb'] + base_result = {} + all_files.each do |file| + absolute = File::expand_path(file) + lines = File.readlines(absolute, :encoding => 'UTF-8') + base_result[absolute] = lines.map do |l| + l.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '') + l.encode!('UTF-8', 'UTF-16') + l.strip! + l.empty? || l =~ /^end$/ || l[0] == '#' ? nil : 0 + end + end + + SimpleCov.at_exit do + coverage_result = Coverage.result + covered_files = coverage_result.keys + covered_files.each do |covered_file| + base_result.delete(covered_file) + end + merged = SimpleCov::Result.new(coverage_result).original_result.merge_resultset(base_result) + result = SimpleCov::Result.new(merged) + result.format! + end + +end diff --git a/websocket-gateway/Gemfile b/websocket-gateway/Gemfile index 6634c7858..75294360a 100644 --- a/websocket-gateway/Gemfile +++ b/websocket-gateway/Gemfile @@ -49,6 +49,8 @@ group :development do end group :test do + gem 'simplecov', '~> 0.7.1' + gem 'simplecov-rcov' gem 'cucumber' gem 'rspec' gem 'factory_girl' diff --git a/websocket-gateway/spec/spec_helper.rb b/websocket-gateway/spec/spec_helper.rb index 0468e41e5..250d266e8 100644 --- a/websocket-gateway/spec/spec_helper.rb +++ b/websocket-gateway/spec/spec_helper.rb @@ -1,3 +1,4 @@ +require 'simplecov' require 'active_record' require 'jam_db' require 'spec_db'