Sha256: 1beffba406c8fcc0d437e8b4ca59353f484e8dbacdcf2fdba1bc132df2493329

Contents?: true

Size: 1.54 KB

Versions: 8

Compression:

Stored size: 1.54 KB

Contents

require "test_helper"

class CompilerTest < Minitest::Test
  def remove_compilation_digest_path
    Webpacker.compiler.send(:compilation_digest_path).tap do |path|
      path.delete if path.exist?
    end
  end

  def setup
    remove_compilation_digest_path
  end

  def teardown
    remove_compilation_digest_path
  end

  def test_custom_environment_variables
    assert Webpacker.compiler.send(:webpack_env)["FOO"] == nil
    Webpacker.compiler.env["FOO"] = "BAR"
    assert Webpacker.compiler.send(:webpack_env)["FOO"] == "BAR"
  end

  def test_default_watched_paths
    assert_equal Webpacker.compiler.send(:default_watched_paths), [
      "app/assets/**/*",
      "/etc/yarn/**/*",
      "test/test_app/app/javascript/**/*",
      "yarn.lock",
      "package.json",
      "config/webpack/**/*"
    ]
  end

  def test_freshness
    assert Webpacker.compiler.stale?
    assert !Webpacker.compiler.fresh?
  end

  def test_freshness_on_compile_success
    status = OpenStruct.new(success?: true)

    assert Webpacker.compiler.stale?
    Open3.stub :capture3, [:sterr, :stdout, status] do
      Webpacker.compiler.compile
      assert Webpacker.compiler.fresh?
    end
  end

  def test_staleness_on_compile_fail
    status = OpenStruct.new(success?: false)

    assert Webpacker.compiler.stale?
    Open3.stub :capture3, [:sterr, :stdout, status] do

      Webpacker.compiler.compile
      assert Webpacker.compiler.stale?
    end
  end

  def test_compilation_digest_path
    assert Webpacker.compiler.send(:compilation_digest_path).to_s.ends_with?(Webpacker.env)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
webpacker-3.6.0 test/compiler_test.rb
webpacker-3.5.5 test/compiler_test.rb
webpacker-3.5.3 test/compiler_test.rb
webpacker-3.5.2 test/compiler_test.rb
webpacker-3.5.1 test/compiler_test.rb
webpacker-3.5.0 test/compiler_test.rb
webpacker-4.0.0.pre.pre.2 test/compiler_test.rb
webpacker-4.0.0.pre.pre.1 test/compiler_test.rb