Ariver
2026-06-04 9d3d275dca8e8dc442eb04434c8bd0fdad79bc04
privatevoice.src/internal/model/model_test.go
@@ -3,10 +3,13 @@
import (
   "archive/tar"
   "bytes"
   "fmt"
   "net/http"
   "net/http/httptest"
   "os"
   "path/filepath"
   "strconv"
   "strings"
   "testing"
)
@@ -588,6 +591,52 @@
   }
}
func TestDownloadFileResumesExistingPartialFile(t *testing.T) {
   payload := []byte("0123456789abcdefghijklmnopqrstuvwxyz")
   server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
      rangeHeader := r.Header.Get("Range")
      start := 0
      if strings.HasPrefix(rangeHeader, "bytes=") && strings.HasSuffix(rangeHeader, "-") {
         parsed, err := strconv.Atoi(strings.TrimSuffix(strings.TrimPrefix(rangeHeader, "bytes="), "-"))
         if err == nil {
            start = parsed
         }
      }
      if start > len(payload) {
         w.WriteHeader(http.StatusRequestedRangeNotSatisfiable)
         return
      }
      if start > 0 {
         w.Header().Set("Content-Range", fmt.Sprintf("bytes %d-%d/%d", start, len(payload)-1, len(payload)))
         w.Header().Set("Content-Length", strconv.Itoa(len(payload)-start))
         w.WriteHeader(http.StatusPartialContent)
         w.Write(payload[start:])
         return
      }
      w.Header().Set("Content-Length", strconv.Itoa(len(payload)))
      w.WriteHeader(http.StatusOK)
      w.Write(payload)
   }))
   defer server.Close()
   dest := filepath.Join(t.TempDir(), "model_package")
   if err := os.WriteFile(dest, payload[:10], 0644); err != nil {
      t.Fatal(err)
   }
   if err := downloadFile(server.URL, dest, nil); err != nil {
      t.Fatal(err)
   }
   data, err := os.ReadFile(dest)
   if err != nil {
      t.Fatal(err)
   }
   if !bytes.Equal(data, payload) {
      t.Fatalf("downloaded payload = %q, want %q", string(data), string(payload))
   }
}
func createValidSenseVoice(t *testing.T, dir string) {
   t.Helper()
   if err := os.MkdirAll(dir, 0755); err != nil {