Sha256: 8a806c8431b1ae22f68e8720f689e21c66fd8d71677bb3c79dd12b7129f1b7b6

Contents?: true

Size: 1.4 KB

Versions: 1

Compression:

Stored size: 1.4 KB

Contents

require File.join(File.dirname(__FILE__), 'test_helper.rb')
require 'typescript-rails'

require "action_controller/railtie"
require "sprockets/railtie"


class AssetsTest < ActiveSupport::TestCase
  include Minitest::PowerAssert::Assertions

  def setup
    FileUtils.mkdir_p tmp_path

    @app = Class.new(Rails::Application)

    @app.config.eager_load = false
    @app.config.active_support.deprecation = :stderr
    @app.config.assets.configure do |env|
      env.cache = ActiveSupport::Cache.lookup_store(:memory_store)
    end
    @app.config.assets.paths << "#{File.dirname(__FILE__)}/fixtures/assets"
    @app.paths["log"] = "#{tmp_path}/log/test.log"
    @app.initialize!
  end

  def teardown
    FileUtils.rm_rf tmp_path
  end

  def tmp_path
    "#{File.dirname(__FILE__)}/tmp"
  end

  def assets
    @app.assets
  end

  test 'typescript.js is included in Sprockets environment' do
    assert { assets["typescript"].filename.to_s.end_with?('/lib/assets/javascripts/typescript.js.erb') }
    assert { assets["typescript"].source.include?('var ts;') }
  end

  test 'assets .js.ts is compiled from TypeScript to JavaScript' do
    assert { assets["javascripts/hello"].present? }
    assert { assets["javascripts/hello"].source.include?('var log_to_console = function (x) {') }
    assert { assets["javascripts/hello"].source.include?('var s = "Hello, world!";') }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
typescript-rails-0.6.0 test/assets_test.rb