rails/actioncable/Rakefile
rmacklin 85b0803653 Convert ActionCable tests from CoffeeScript to ES2015 and replace Blade with Karma and Rollup (#34440)
* Rename .coffee files in ActionCable test suite in prep for decaffeination

* Decaffeinate ActionCable tests

* Replace Blade with Karma and Rollup to run ActionCable JS tests

- Add karma and qunit devDependencies

- Add test script to ActionCable package

- Use rollup to bundle ActionCable tests

- Use karma as the ActionCable JS test runner

* Replace vendored mock-socket with package devDependency in ActionCable

* Move ActionCable yarn install to TravisCI before_install config

* Clean up decaffeinated ActionCable tests to use consistent formatting
2018-11-26 17:16:02 -05:00

43 lines
925 B
Ruby

# frozen_string_literal: true
require "rake/testtask"
require "pathname"
require "open3"
require "action_cable"
task default: :test
task :package
Rake::TestTask.new do |t|
t.libs << "test"
t.test_files = Dir.glob("#{__dir__}/test/**/*_test.rb")
t.warning = true
t.verbose = true
t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION)
end
namespace :test do
task :isolated do
Dir.glob("test/**/*_test.rb").all? do |file|
sh(Gem.ruby, "-w", "-Ilib:test", file)
end || raise("Failures")
end
task :integration do
system("yarn test") || raise("Failures")
end
end
namespace :assets do
desc "Generate ActionCable::INTERNAL JS module"
task :codegen do
require "json"
require "action_cable"
File.open(File.join(__dir__, "app/javascript/action_cable/internal.js").to_s, "w+") do |file|
file.write("export default #{JSON.generate(ActionCable::INTERNAL)}")
end
end
end