Newer
Older
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2022 xx foundation //
// //
// Use of this source code is governed by a license that can be found in the //
// LICENSE file. //
////////////////////////////////////////////////////////////////////////////////
//go:build js && wasm
package wasm
import (
"gitlab.com/elixxir/client/v4/bindings"
"reflect"
"testing"
)
// Tests that the map representing ChannelsFileTransfer returned by
// newChannelsFileTransferJS contains all of the methods on ChannelsFileTransfer.
func Test_newChannelsFileTransferJS(t *testing.T) {
cftType := reflect.TypeOf(&ChannelsFileTransfer{})
ft := newChannelsFileTransferJS(&bindings.ChannelsFileTransfer{})
if len(ft) != cftType.NumMethod() {
t.Errorf("ChannelsFileTransfer JS object does not have all methods."+
"\nexpected: %d\nreceived: %d", cftType.NumMethod(), len(ft))
}
for i := 0; i < cftType.NumMethod(); i++ {
method := cftType.Method(i)
if _, exists := ft[method.Name]; !exists {
t.Errorf("Method %s does not exist.", method.Name)
}
}
}
// Tests that ChannelsFileTransfer has all the methods that
// [bindings.ChannelsFileTransfer] has.
func Test_ChannelsFileTransferMethods(t *testing.T) {
cftType := reflect.TypeOf(&ChannelsFileTransfer{})
binCftType := reflect.TypeOf(&bindings.ChannelsFileTransfer{})
if binCftType.NumMethod() != cftType.NumMethod() {
t.Errorf("WASM ChannelsFileTransfer object does not have all methods "+
"from bindings.\nexpected: %d\nreceived: %d",
binCftType.NumMethod(), cftType.NumMethod())
}
for i := 0; i < binCftType.NumMethod(); i++ {
method := binCftType.Method(i)
if _, exists := cftType.MethodByName(method.Name); !exists {
t.Errorf("Method %s does not exist.", method.Name)
}
}
}
// Tests that the map representing ChFilePartTracker returned by
// newChFilePartTrackerJS contains all of the methods on ChFilePartTracker.
func Test_newChFilePartTrackerJS(t *testing.T) {
fptType := reflect.TypeOf(&FilePartTracker{})
fpt := newChFilePartTrackerJS(&bindings.ChFilePartTracker{})
if len(fpt) != fptType.NumMethod() {
t.Errorf("ChFilePartTracker JS object does not have all methods."+
"\nexpected: %d\nreceived: %d", fptType.NumMethod(), len(fpt))
}
for i := 0; i < fptType.NumMethod(); i++ {
method := fptType.Method(i)
if _, exists := fpt[method.Name]; !exists {
t.Errorf("Method %s does not exist.", method.Name)
}
}
}
// Tests that ChFilePartTracker has all the methods that
// [bindings.ChFilePartTracker] has.
func Test_ChFilePartTrackerMethods(t *testing.T) {
fptType := reflect.TypeOf(&ChFilePartTracker{})
binFptType := reflect.TypeOf(&bindings.ChFilePartTracker{})
if binFptType.NumMethod() != fptType.NumMethod() {
t.Errorf("WASM ChFilePartTracker object does not have all methods from "+
"bindings.\nexpected: %d\nreceived: %d",
binFptType.NumMethod(), fptType.NumMethod())
}
for i := 0; i < binFptType.NumMethod(); i++ {
method := binFptType.Method(i)
if _, exists := fptType.MethodByName(method.Name); !exists {
t.Errorf("Method %s does not exist.", method.Name)
}
}
}