Files
2026-07-16 00:38:31 +08:00

31 lines
818 B
Go

package hosts
import (
"context"
"net/netip"
"os"
"runtime"
"testing"
E "github.com/sagernet/sing/common/exceptions"
"github.com/stretchr/testify/require"
)
func TestHosts(t *testing.T) {
t.Parallel()
require.Equal(t, []netip.Addr{netip.AddrFrom4([4]byte{127, 0, 0, 1}), netip.IPv6Loopback()}, NewFile(context.Background(), "testdata/hosts").Lookup("localhost"))
if runtime.GOOS != "windows" {
defaultPathResolved, err := defaultPath()
if err != nil {
t.Fatal(E.Cause(err, "resolve default hosts path"))
}
content, readErr := os.ReadFile(defaultPathResolved)
require.NoError(t, readErr)
hFile := NewFile(context.Background(), defaultPathResolved)
if len(hFile.Lookup("localhost")) == 0 {
t.Fatal("failed to resolve localhost: ", defaultPathResolved, ": \n", string(content))
}
}
}