Sha256: db62a86e3b298f830ea00b9e25987313cad04d15de7826978e3824a05600ba26

Contents?: true

Size: 1.2 KB

Versions: 5

Compression:

Stored size: 1.2 KB

Contents

TEST_CHANGES_SINCE = Time.now - 600

namespace :test do
  namespace :recent do
    desc "Open recently modified files into browser"
    task :javascript do
      require 'rubygems'
      gem 'activesupport'
      require 'active_support'

      since = TEST_CHANGES_SINCE
      touched = FileList[
        'test/*_test.html', 
        'src/*.js'].select { |path| File.mtime(path) > since }
      next if touched.blank?
      
      gem 'newjs'
      require 'newjs'
      require 'newjs/autotest'
      
      touched.each do |file|
        if file =~ /\/([^\/]+)\.js$/
          file = "test/#{$1}_test.html"
        end
        file = "#{APP_ROOT}/#{file}"
        unless File.exists?(file)
          puts "Notice: Test file does not exist: #{file}"
          next
        end
        browsers = JavascriptTestAutotest::Config.get :browsers
        if browsers.blank?
          puts "WARNING: No browsers setup in config/javascript_test_autotest.yml"
          next
        end
        browsers.each_pair do |name, path|
          browser = JavascriptTestAutotest::Browser.browser(name, path)
          browser.setup
          browser.visit(file)
          browser.teardown          
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
newjs-1.0.1 app_generators/newjs/templates/tasks/javascript_test_autotest_tasks.rake
newjs-1.0.0 app_generators/newjs/templates/tasks/javascript_test_autotest_tasks.rake
newjs-1.0.2 app_generators/newjs/templates/tasks/javascript_test_autotest_tasks.rake
newjs-1.0.3 app_generators/newjs/templates/tasks/javascript_test_autotest_tasks.rake
newjs-1.0.4 app_generators/newjs/templates/tasks/javascript_test_autotest_tasks.rake