mirror of
https://github.com/krau/SaveAny-Bot.git
synced 2026-08-29 12:16:43 +08:00
62 lines
1.5 KiB
Go
62 lines
1.5 KiB
Go
package tfile
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
"github.com/gotd/td/tg"
|
|
)
|
|
|
|
func TestFilePayloadDocumentRoundTrip(t *testing.T) {
|
|
file := NewTGFile(
|
|
&tg.InputDocumentFileLocation{
|
|
ID: 6287403840090150101,
|
|
AccessHash: -8452541528324991878,
|
|
FileReference: []byte{0x02, 0x0e, 0x80, 0xd6},
|
|
ThumbSize: "",
|
|
},
|
|
nil,
|
|
4194304000,
|
|
"常轨脱离Creative凸.7z.001",
|
|
)
|
|
p, ok := FilePayloadOf(file)
|
|
if !ok {
|
|
t.Fatalf("FilePayloadOf failed")
|
|
}
|
|
rebuilt := FileFromPayload(p, nil)
|
|
if !reflect.DeepEqual(rebuilt.Location(), file.Location()) {
|
|
t.Fatalf("location mismatch:\n got %#v\nwant %#v", rebuilt.Location(), file.Location())
|
|
}
|
|
if rebuilt.Size() != file.Size() || rebuilt.Name() != file.Name() {
|
|
t.Fatalf("size/name mismatch: got %d %q, want %d %q", rebuilt.Size(), rebuilt.Name(), file.Size(), file.Name())
|
|
}
|
|
if p.Kind != "document" {
|
|
t.Fatalf("kind = %q, want document", p.Kind)
|
|
}
|
|
}
|
|
|
|
func TestFilePayloadPhotoRoundTrip(t *testing.T) {
|
|
file := NewTGFile(
|
|
&tg.InputPhotoFileLocation{
|
|
ID: 123,
|
|
AccessHash: 456,
|
|
FileReference: []byte{0xaa, 0xbb},
|
|
ThumbSize: "y",
|
|
},
|
|
nil,
|
|
0,
|
|
"photo_123.png",
|
|
)
|
|
p, ok := FilePayloadOf(file)
|
|
if !ok {
|
|
t.Fatalf("FilePayloadOf failed")
|
|
}
|
|
if p.Kind != "photo" {
|
|
t.Fatalf("kind = %q, want photo", p.Kind)
|
|
}
|
|
rebuilt := FileFromPayload(p, nil)
|
|
if !reflect.DeepEqual(rebuilt.Location(), file.Location()) {
|
|
t.Fatalf("location mismatch:\n got %#v\nwant %#v", rebuilt.Location(), file.Location())
|
|
}
|
|
}
|