Welcome to mirror list, hosted at ThFree Co, Russian Federation.

lfs_pointer_file_spec.rb « git « gitlab « lib « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b210c86c3d1a6def176fbb1a246bbf5ad7dc2aba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# frozen_string_literal: true

require 'fast_spec_helper'

RSpec.describe Gitlab::Git::LfsPointerFile do
  let(:data) { "1234\n" }

  subject { described_class.new(data) }

  describe '#size' do
    it 'counts the bytes' do
      expect(subject.size).to eq 5
    end

    it 'handles non ascii data' do
      expect(described_class.new("ääää").size).to eq 8
    end
  end

  describe '#sha256' do
    it 'hashes the content correctly' do
      expect(subject.sha256).to eq 'a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4'
    end
  end

  describe '#pointer' do
    it 'starts with the LFS version' do
      expect(subject.pointer).to start_with('version https://git-lfs.github.com/spec/v1')
    end

    it 'includes sha256' do
      expect(subject.pointer).to match(/^oid sha256:[0-9a-fA-F]{64}/)
    end

    it 'ends with the size' do
      expect(subject.pointer).to end_with("\nsize 5\n")
    end
  end
end