Typ Blob
udostępnia właściwość Content
, która zwraca wartość byte[]
.
Poniższy test wyodrębniony z pliku BlobFixture.cs i demonstruje użycie tej właściwości.
[Test]
public void CanReadBlobContent()
{
using (var repo = new Repository(BareTestRepoPath))
{
var blob = repo.Lookup<Blob>("a8233120f6ad708f843d861ce2b7228ec4e3dec6");
byte[] bytes = blob.Content;
bytes.Length.ShouldEqual(10);
string content = Encoding.UTF8.GetString(bytes);
content.ShouldEqual("hey there\n");
}
}
W omawianym teście, blob GitObject jest bezpośrednio pobierane za pomocą metody LookUp()
. Możesz także uzyskać dostęp do obiektów Blobs z właściwości Files
z Tree
.
Jeśli chodzi o bardziej szczegółowe żądanie, następujący test jednostki powinien pokazać jak uzyskać dostęp do surowych bajtów obiektu Blob z końcówki Branch
.
[Test]
public void CanRetrieveABlobContentFromTheTipOfABranch()
{
using (var repo = new Repository(BareTestRepoPath))
{
Branch branch = repo.Branches["br2"];
Commit tip = branch.Tip;
Blob blob = (Blob)tip["README"].Target;
byte[] content = blob.Content;
content.Length.ShouldEqual(10);
}
}
Uwaga: Ten test pokazuje inny sposób dostępu do Blob
(jako abstrakcyjne TreeEntry
). Tak więc wykorzystanie obsady.
Awesome. Dzięki stary! – Nick
Cieszę się, że mogłem ci pomóc :) – nulltoken
Również .. oglądanie testów to dobry pomysł. – Nick