Sha256: fd533f6617afa1885c3f8403089a53ca24ed372e14a6a0310084e71c2eaeff45

Contents?: true

Size: 1.71 KB

Versions: 7

Compression:

Stored size: 1.71 KB

Contents

require "yaml"
require "tempfile"
require "spec_helper"
require "expressir/express/parser"
require "expressir/express/cache"

TEST_VERSION = "0.0.0".freeze

RSpec.describe Expressir::Express::Cache do
  describe ".to_file" do
    it "exports an object" do |example|
      print "\n[#{example.description}] "
      temp_file = Tempfile.new

      repository = Expressir::Model::Repository.new

      begin
        Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)

        size = File.size(temp_file)

        expect(size).to be > 0
      ensure
        temp_file.close
        temp_file.unlink
      end
    end
  end

  describe ".from_file" do
    it "parses a file" do |example|
      print "\n[#{example.description}] "
      temp_file = Tempfile.new

      repository = Expressir::Model::Repository.new

      begin
        Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)

        result = Expressir::Express::Cache.from_file(temp_file, test_overwrite_version: TEST_VERSION)

        expect(result).to be_instance_of(Expressir::Model::Repository)
      ensure
        temp_file.close
        temp_file.unlink
      end
    end

    it "fails parsing a file from a different Expressir version" do |example|
      print "\n[#{example.description}] "
      temp_file = Tempfile.new

      repository = Expressir::Model::Repository.new

      begin
        Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)

        expect do
          Expressir::Express::Cache.from_file(temp_file)
        end.to raise_error(Expressir::Error)
      ensure
        temp_file.close
        temp_file.unlink
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
expressir-1.2.5 spec/expressir/express/cache_spec.rb
expressir-1.2.5-x86_64-linux spec/expressir/express/cache_spec.rb
expressir-1.2.5-x86_64-darwin spec/expressir/express/cache_spec.rb
expressir-1.2.5-x64-mingw32 spec/expressir/express/cache_spec.rb
expressir-1.2.5-x64-mingw-ucrt spec/expressir/express/cache_spec.rb
expressir-1.2.5-arm64-darwin spec/expressir/express/cache_spec.rb
expressir-1.2.5-aarch64-linux spec/expressir/express/cache_spec.rb