test/unit/source_proxy_tests.rb in dassets-0.15.0 vs test/unit/source_proxy_tests.rb in dassets-0.15.1

- old
+ new

@@ -1,5 +1,7 @@ +# frozen_string_literal: true + require "assert" require "dassets/source_proxy" require "digest/md5" require "dassets/cache" @@ -7,21 +9,21 @@ require "dassets/source_proxy" class Dassets::SourceProxy class UnitTests < Assert::Context desc "Dassets::SourceProxy" - subject { Dassets::SourceProxy.new(Factory.string) } + subject{ Dassets::SourceProxy.new(Factory.string) } should have_readers :digest_path, :content_cache, :fingerprint_cache should have_readers :source_files should have_imeths :key, :content, :fingerprint, :mtime, :response_headers should have_imeths :exists? end class NotComboTests < UnitTests desc "when the digest path is not a combination" - subject { Dassets::SourceProxy.new("file1.txt") } + subject{ Dassets::SourceProxy.new("file1.txt") } should "know its digest path" do assert_that(subject.digest_path).equals("file1.txt") end @@ -39,11 +41,12 @@ should "use its digest path and mtime as its key" do exp = "#{subject.digest_path} -- #{subject.mtime}" assert_that(subject.key).equals(exp) end - should "get its content from the compiled source of the single source file" do + should "get its content from the compiled source of the single "\ + "source file" do assert_that(subject.content).equals(subject.source_files.first.compiled) end should "get its fingerprint by MD5 hashing the content" do exp = Digest::MD5.new.hexdigest(subject.content) @@ -52,11 +55,12 @@ should "use its single source file's max mtime as its mtime" do assert_that(subject.mtime).equals(subject.source_files.first.mtime) end - should "use its single source file's response headers as its resonse headers" do + should "use its single source file's response headers as its resonse "\ + "headers" do assert_that(subject.response_headers) .equals(subject.source_files.first.response_headers) end should "exist if its single source file exists" do @@ -78,16 +82,16 @@ end end class ComboTests < ComboSetupTests desc "when the digest path is a combination to multiple source files" - subject { Dassets::SourceProxy.new("file3.txt") } + subject{ Dassets::SourceProxy.new("file3.txt") } setup do @exp_source_files = [ Dassets::SourceFile.find_by_digest_path("file1.txt"), - Dassets::SourceFile.find_by_digest_path("file2.txt") + Dassets::SourceFile.find_by_digest_path("file2.txt"), ] end should "know its digest path" do assert_that(subject.digest_path).equals("file3.txt") @@ -97,36 +101,37 @@ assert_that(subject.source_files.size).equals(2) assert_that(subject.source_files).equals(@exp_source_files) end should "get its content from the compiled source of its source files" do - exp = subject.source_files.map { |f| f.compiled }.join("\n") + exp = subject.source_files.map(&:compiled).join("\n") assert_that(subject.content).equals(exp) end should "use its source files' max mtime as its mtime" do - exp = subject.source_files.map { |f| f.mtime }.max + exp = subject.source_files.map(&:mtime).max assert_that(subject.mtime).equals(exp) end - should "use its source files' merged response headers as its response headers" do + should "use its source files' merged response headers as its response "\ + "headers" do exp = - subject.source_files.reduce(Hash.new) { |hash, file| + subject.source_files.reduce({}) do |hash, file| hash.merge!(file.response_headers) - } + end assert_that(subject.response_headers).equals(exp) end should "exist if its all its source files exist" do - exp = subject.source_files.reduce(true) { |res, f| res && f.exists? } + exp = subject.source_files.reduce(true){ |res, f| res && f.exists? } assert_that(subject.exists?).equals(exp) end end class EmptyComboTests < ComboSetupTests desc "when the digest path is an empty combination" - subject { Dassets::SourceProxy.new("file4.txt") } + subject{ Dassets::SourceProxy.new("file4.txt") } should "not have any source files" do assert_that(subject.source_files.size).equals(0) end @@ -144,28 +149,28 @@ end class ComboWithEmptyComboTests < ComboSetupTests desc "when the digest path is a combination that includes an empty "\ "combination" - subject { Dassets::SourceProxy.new("file5.txt") } + subject{ Dassets::SourceProxy.new("file5.txt") } should "ignore the mtime of the empty combination" do - exp_mtime = subject.source_files.map { |f| f.mtime }.compact.max + exp_mtime = subject.source_files.map(&:mtime).compact.max assert_that(subject.mtime).equals(exp_mtime) end end class NoCacheTests < UnitTests desc "with a `NoCache` cache handler" - subject { + subject do cache = Dassets::NoCache.new Dassets::SourceProxy.new( "file1.txt", content_cache: cache, fingerprint_cache: cache, ) - } + end should "not cache its source content/fingerprint" do content1 = subject.content content2 = subject.content assert_that(content2).is_not(content1) @@ -176,19 +181,19 @@ end end class MemCacheTests < UnitTests desc "with a `MemCache` cache handler" - subject { + subject do content_cache = Dassets::MemCache.new fingerprint_cache = Dassets::MemCache.new Dassets::SourceProxy.new( "file1.txt", content_cache: content_cache, fingerprint_cache: fingerprint_cache, ) - } + end should "cache its source content/fingerprint in memory" do content1 = subject.content content2 = subject.content assert_that(content2).is(content1)