Sha256: b41ea03245180dbaabb933c40f0ac6d819b4e049f6c46ee98b5c0c4da02471f5

Contents?: true

Size: 1.6 KB

Versions: 7

Compression:

Stored size: 1.6 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"
  ensure
    Webpacker.compiler.env = {}
  end

  def test_default_watched_paths
    assert_equal Webpacker.compiler.send(:default_watched_paths), [
      "app/assets/**/*",
      "/etc/yarn/**/*",
      "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_equal Webpacker.compiler.send(:compilation_digest_path).basename.to_s, "last-compilation-digest-#{Webpacker.env}"
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
webpacker-4.0.0.rc.7 test/compiler_test.rb
webpacker-4.0.0.rc.6 test/compiler_test.rb
webpacker-4.0.0.rc.5 test/compiler_test.rb
webpacker-4.0.0.rc.4 test/compiler_test.rb
webpacker-4.0.0.rc.3 test/compiler_test.rb
webpacker-4.0.0.rc.2 test/compiler_test.rb
webpacker-4.0.0.rc.1 test/compiler_test.rb