Skip to content

Commit

Permalink
test script addresses
Browse files Browse the repository at this point in the history
  • Loading branch information
rohenaz committed Oct 18, 2024
1 parent baad705 commit 6daa0c6
Showing 1 changed file with 42 additions and 5 deletions.
47 changes: 42 additions & 5 deletions script/script_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ func TestSpendValid(t *testing.T) {
})
}
}
func TestScript_Chunks(t *testing.T) {
func TestScriptChunks(t *testing.T) {
t.Parallel()

t.Run("simple", func(t *testing.T) {
Expand Down Expand Up @@ -685,7 +685,7 @@ func TestScript_Chunks(t *testing.T) {
})
}

func TestScript_GetPublicKey(t *testing.T) {
func TestScriptPubKeyHex(t *testing.T) {
tests := []struct {
name string
scriptHex string
Expand Down Expand Up @@ -723,15 +723,52 @@ func TestScript_GetPublicKey(t *testing.T) {
s, err := script.NewFromHex(tt.scriptHex)
require.NoError(t, err)

pubKey, err := s.PubKeyHex()
pubKeyHex, err := s.PubKeyHex()

if tt.expectError {
require.Error(t, err)
require.Empty(t, pubKey)
require.Empty(t, pubKeyHex)
} else {
require.NoError(t, err)
require.Equal(t, tt.expectedPubKey, pubKey)
require.Equal(t, tt.expectedPubKey, pubKeyHex)
}
})
}
}

func TestScriptAddresses(t *testing.T) {
tests := []struct {
name string
scriptHex string
expectedAddresses []string
expectError bool
}{
{
name: "Valid P2PK Script",
scriptHex: "76a9149df0707f3f8e534441c055aca4bb816fbc1eadf488ac",
expectedAddresses: []string{"1FQ789GuMRYki3t79XK3AWQ8gxzVNLzvXr"},
expectError: false,
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
s, err := script.NewFromHex(tt.scriptHex)
require.NoError(t, err)

addresses, err := s.Addresses()

if tt.expectError {
require.Error(t, err)
require.Empty(t, addresses)
} else {
require.NoError(t, err)
require.Equal(t, tt.expectedAddresses, addresses)
}

address, err := s.Address()
require.NoError(t, err)
require.Equal(t, tt.expectedAddresses[0], address.AddressString)
})
}
}

0 comments on commit 6daa0c6

Please sign in to comment.