From a462c56d17be590e54dc656a98a3a21f5060cea0 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 22:22:01 +0700 Subject: [PATCH 01/12] Setup minitest and add initial test cases --- Gemfile | 2 ++ Gemfile.lock | 53 ++++++++++++++++++++++++++++++++++++++++++ Rakefile | 11 +++++++++ test/env_test.rb | 15 ++++++++++++ test/webpacker_test.rb | 14 +++++++++++ webpacker.gemspec | 2 ++ 6 files changed, 97 insertions(+) create mode 100644 test/env_test.rb create mode 100644 test/webpacker_test.rb diff --git a/Gemfile b/Gemfile index b4e2a20bb..54e12966c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,5 @@ source "https://rubygems.org" gemspec + +gem 'rails' diff --git a/Gemfile.lock b/Gemfile.lock index e9889f7c5..9e43f404b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,6 +9,16 @@ PATH GEM remote: https://rubygems.org/ specs: + actioncable (5.0.1) + actionpack (= 5.0.1) + nio4r (~> 1.2) + websocket-driver (~> 0.6.1) + actionmailer (5.0.1) + actionpack (= 5.0.1) + actionview (= 5.0.1) + activejob (= 5.0.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) actionpack (5.0.1) actionview (= 5.0.1) activesupport (= 5.0.1) @@ -22,26 +32,56 @@ GEM erubis (~> 2.7.0) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) + activejob (5.0.1) + activesupport (= 5.0.1) + globalid (>= 0.3.6) + activemodel (5.0.1) + activesupport (= 5.0.1) + activerecord (5.0.1) + activemodel (= 5.0.1) + activesupport (= 5.0.1) + arel (~> 7.0) activesupport (5.0.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (~> 0.7) minitest (~> 5.1) tzinfo (~> 1.1) + arel (7.1.4) builder (3.2.3) concurrent-ruby (1.0.5) erubis (2.7.0) + globalid (0.3.7) + activesupport (>= 4.1.0) i18n (0.8.1) loofah (2.0.3) nokogiri (>= 1.5.9) + mail (2.6.4) + mime-types (>= 1.16, < 4) method_source (0.8.2) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) mini_portile2 (2.1.0) minitest (5.10.1) multi_json (1.12.1) + nio4r (1.2.1) nokogiri (1.7.0.1) mini_portile2 (~> 2.1.0) rack (2.0.1) rack-test (0.6.3) rack (>= 1.0) + rails (5.0.1) + actioncable (= 5.0.1) + actionmailer (= 5.0.1) + actionpack (= 5.0.1) + actionview (= 5.0.1) + activejob (= 5.0.1) + activemodel (= 5.0.1) + activerecord (= 5.0.1) + activesupport (= 5.0.1) + bundler (>= 1.3.0, < 2.0) + railties (= 5.0.1) + sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.2) activesupport (>= 4.2.0, < 6.0) nokogiri (~> 1.6) @@ -54,16 +94,29 @@ GEM rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (12.0.0) + sprockets (3.7.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.0) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) thor (0.19.4) thread_safe (0.3.6) tzinfo (1.2.2) thread_safe (~> 0.1) + websocket-driver (0.6.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) PLATFORMS ruby DEPENDENCIES bundler (~> 1.12) + minitest (~> 5.0) + rails + rake (~> 12.0) webpacker! BUNDLED WITH diff --git a/Rakefile b/Rakefile index 29955274e..29e511628 100644 --- a/Rakefile +++ b/Rakefile @@ -1 +1,12 @@ +# frozen_string_literal: true require "bundler/gem_tasks" +require 'rake/testtask' + +Rake::TestTask.new(:test) do |t| + t.libs << "test" + t.libs << "lib" + t.test_files = FileList['test/**/*_test.rb'] + t.verbose = true +end + +task :default => :test diff --git a/test/env_test.rb b/test/env_test.rb new file mode 100644 index 000000000..f4af719af --- /dev/null +++ b/test/env_test.rb @@ -0,0 +1,15 @@ +require 'webpacker_test' + +class EnvTest < Minitest::Test + def setup + @env = Webpacker::Env.current + end + + def test_current_env + assert @env == "production" + end + + def test_env_is_development? + assert @env != "development" + end +end diff --git a/test/webpacker_test.rb b/test/webpacker_test.rb new file mode 100644 index 000000000..dddcdb800 --- /dev/null +++ b/test/webpacker_test.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +require "minitest/autorun" +require "rails" +require "rails/test_help" +require "webpacker" + +module TestApp + class Application < ::Rails::Application + config.root = File.dirname(__FILE__) + end +end + +TestApp::Application.initialize! diff --git a/webpacker.gemspec b/webpacker.gemspec index 36f102cdd..6c2f572ee 100644 --- a/webpacker.gemspec +++ b/webpacker.gemspec @@ -17,6 +17,8 @@ Gem::Specification.new do |s| s.add_dependency "railties", ">= 4.2" s.add_development_dependency "bundler", "~> 1.12" + s.add_development_dependency "minitest", "~> 5.0" + s.add_development_dependency "rake", '~> 12.0' s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- test/*`.split("\n") From 8e1fbf526440033a31a7ac97a030be7c3771fb13 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 22:32:43 +0700 Subject: [PATCH 02/12] Improve env test --- test/env_test.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/test/env_test.rb b/test/env_test.rb index f4af719af..3568a4a5d 100644 --- a/test/env_test.rb +++ b/test/env_test.rb @@ -1,15 +1,16 @@ require 'webpacker_test' class EnvTest < Minitest::Test - def setup - @env = Webpacker::Env.current - end - def test_current_env - assert @env == "production" + assert Webpacker::Env.current == "production" end def test_env_is_development? - assert @env != "development" + refute Webpacker::Env.development? + end + + def test_file_path + correct_path = File.join(File.dirname(__FILE__), "config", "webpack", "paths.yml").to_s + assert Webpacker::Env.file_path.to_s == correct_path end end From 4d869c963373ed9695f76561b4075b01c64e8951 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 22:43:03 +0700 Subject: [PATCH 03/12] Fix rubocop complaint --- Gemfile | 2 +- Rakefile | 6 +++--- test/env_test.rb | 2 +- webpacker.gemspec | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 54e12966c..b473cf759 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,4 @@ source "https://rubygems.org" gemspec -gem 'rails' +gem "rails" diff --git a/Rakefile b/Rakefile index 29e511628..249c285eb 100644 --- a/Rakefile +++ b/Rakefile @@ -1,12 +1,12 @@ # frozen_string_literal: true require "bundler/gem_tasks" -require 'rake/testtask' +require "rake/testtask" Rake::TestTask.new(:test) do |t| t.libs << "test" t.libs << "lib" - t.test_files = FileList['test/**/*_test.rb'] + t.test_files = FileList["test/**/*_test.rb"] t.verbose = true end -task :default => :test +task default: :test diff --git a/test/env_test.rb b/test/env_test.rb index 3568a4a5d..43c644f61 100644 --- a/test/env_test.rb +++ b/test/env_test.rb @@ -1,4 +1,4 @@ -require 'webpacker_test' +require "webpacker_test" class EnvTest < Minitest::Test def test_current_env diff --git a/webpacker.gemspec b/webpacker.gemspec index 6c2f572ee..1a11c91f9 100644 --- a/webpacker.gemspec +++ b/webpacker.gemspec @@ -18,7 +18,7 @@ Gem::Specification.new do |s| s.add_development_dependency "bundler", "~> 1.12" s.add_development_dependency "minitest", "~> 5.0" - s.add_development_dependency "rake", '~> 12.0' + s.add_development_dependency "rake", "~> 12.0" s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- test/*`.split("\n") From ba7bb2534a7698848291c5d48d55357fbc76655f Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 22:48:47 +0700 Subject: [PATCH 04/12] Add rake test to travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 9b9f30491..3f0e62a83 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,3 +19,4 @@ install: script: - yarn lint - rubocop + - rake test From 7e211e9224048fb38c7da28b56962b99e7487bf3 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 22:55:10 +0700 Subject: [PATCH 05/12] Use bundle exec rake test --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3f0e62a83..3e63dd5c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,4 +19,4 @@ install: script: - yarn lint - rubocop - - rake test + - bundle exec rake test From 2fd731ba9cc7bf529322d1de86ea86c52ae887d1 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 23:00:33 +0700 Subject: [PATCH 06/12] Add bundle install to travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 3e63dd5c4..ada28c899 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ cache: install: - gem install rubocop - nvm install node + - bundle install - node -v - npm i -g yarn - yarn From 9af9696a075ab01edddcd5e0f4bbbb4635193db7 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 23:08:51 +0700 Subject: [PATCH 07/12] Install rake global on travis --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ada28c899..24e876d75 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,12 +12,12 @@ cache: install: - gem install rubocop + - gem install rake - nvm install node - - bundle install - node -v - npm i -g yarn - yarn script: - yarn lint - rubocop - - bundle exec rake test + - rake test From 5aace57ddd902150a2a9064aac42969ff865f0b6 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 13 Apr 2017 23:23:54 +0700 Subject: [PATCH 08/12] Try another travis setup --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 24e876d75..fd35fcac7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,6 @@ cache: install: - gem install rubocop - - gem install rake - nvm install node - node -v - npm i -g yarn @@ -20,4 +19,5 @@ install: script: - yarn lint - rubocop - - rake test + - bundle exec rake test +bundler_args: --jobs 3 --retry 3 From 7a2ddf620b5458407e4740412cc0f641c0fdfeff Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Fri, 14 Apr 2017 08:25:55 +0700 Subject: [PATCH 09/12] Make rubocop and rake as dependencies --- .travis.yml | 4 +--- Gemfile | 3 +++ Gemfile.lock | 16 +++++++++++++++- webpacker.gemspec | 2 -- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index fd35fcac7..84b9ad9e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,13 +11,11 @@ cache: yarn: true install: - - gem install rubocop - nvm install node - node -v - npm i -g yarn - yarn script: - yarn lint - - rubocop + - bundle exec rubocop - bundle exec rake test -bundler_args: --jobs 3 --retry 3 diff --git a/Gemfile b/Gemfile index b473cf759..37c3f3b46 100644 --- a/Gemfile +++ b/Gemfile @@ -3,3 +3,6 @@ source "https://rubygems.org" gemspec gem "rails" +gem "rake", ">= 11.1" +gem "minitest", "~> 5.0" +gem "rubocop", ">= 0.47", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 9e43f404b..9e918811f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -47,6 +47,7 @@ GEM minitest (~> 5.1) tzinfo (~> 1.1) arel (7.1.4) + ast (2.3.0) builder (3.2.3) concurrent-ruby (1.0.5) erubis (2.7.0) @@ -67,6 +68,9 @@ GEM nio4r (1.2.1) nokogiri (1.7.0.1) mini_portile2 (~> 2.1.0) + parser (2.4.0.0) + ast (~> 2.2) + powerpack (0.1.1) rack (2.0.1) rack-test (0.6.3) rack (>= 1.0) @@ -93,7 +97,15 @@ GEM method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) + rainbow (2.2.1) rake (12.0.0) + rubocop (0.47.1) + parser (>= 2.3.3.1, < 3.0) + powerpack (~> 0.1) + rainbow (>= 1.99.1, < 3.0) + ruby-progressbar (~> 1.7) + unicode-display_width (~> 1.0, >= 1.0.1) + ruby-progressbar (1.8.1) sprockets (3.7.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -105,6 +117,7 @@ GEM thread_safe (0.3.6) tzinfo (1.2.2) thread_safe (~> 0.1) + unicode-display_width (1.1.3) websocket-driver (0.6.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.2) @@ -116,7 +129,8 @@ DEPENDENCIES bundler (~> 1.12) minitest (~> 5.0) rails - rake (~> 12.0) + rake (>= 11.1) + rubocop (>= 0.47) webpacker! BUNDLED WITH diff --git a/webpacker.gemspec b/webpacker.gemspec index 1a11c91f9..36f102cdd 100644 --- a/webpacker.gemspec +++ b/webpacker.gemspec @@ -17,8 +17,6 @@ Gem::Specification.new do |s| s.add_dependency "railties", ">= 4.2" s.add_development_dependency "bundler", "~> 1.12" - s.add_development_dependency "minitest", "~> 5.0" - s.add_development_dependency "rake", "~> 12.0" s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- test/*`.split("\n") From a68b51ac0b60eb1d9e85c2ea2207abba7f16b868 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Fri, 14 Apr 2017 08:36:33 +0700 Subject: [PATCH 10/12] Install dependencies --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 84b9ad9e0..c68ce91f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ cache: yarn: true install: + - bundle install - nvm install node - node -v - npm i -g yarn From f78fadd516c73fe58ef6f8451900d29ed7f07a93 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Fri, 14 Apr 2017 14:23:23 +0700 Subject: [PATCH 11/12] Move minitest into test group --- Gemfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 37c3f3b46..1f00b8752 100644 --- a/Gemfile +++ b/Gemfile @@ -4,5 +4,8 @@ gemspec gem "rails" gem "rake", ">= 11.1" -gem "minitest", "~> 5.0" gem "rubocop", ">= 0.47", require: false + +group :test do + gem "minitest", "~> 5.0" +end From ead8736093bd156abf618b6c4a09ae1106ad775a Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Fri, 21 Apr 2017 08:43:54 +0700 Subject: [PATCH 12/12] Code improve --- test/env_test.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/env_test.rb b/test/env_test.rb index 43c644f61..25255598e 100644 --- a/test/env_test.rb +++ b/test/env_test.rb @@ -2,15 +2,15 @@ class EnvTest < Minitest::Test def test_current_env - assert Webpacker::Env.current == "production" + assert_equal Webpacker::Env.current, "production" end def test_env_is_development? - refute Webpacker::Env.development? + refute_predicate Webpacker::Env, :development? end def test_file_path correct_path = File.join(File.dirname(__FILE__), "config", "webpack", "paths.yml").to_s - assert Webpacker::Env.file_path.to_s == correct_path + assert_equal Webpacker::Env.file_path.to_s, correct_path end end