...

Source file src/cuelang.org/go/internal/mod/modload/update_test.go

Documentation: cuelang.org/go/internal/mod/modload

     1  package modload
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"io/fs"
     7  	"path/filepath"
     8  	"strings"
     9  	"testing"
    10  
    11  	"github.com/go-quicktest/qt"
    12  	"github.com/google/go-cmp/cmp"
    13  	"golang.org/x/tools/txtar"
    14  
    15  	"cuelang.org/go/internal/txtarfs"
    16  )
    17  
    18  func TestUpdateVersions(t *testing.T) {
    19  	files, err := filepath.Glob("testdata/updateversions/*.txtar")
    20  	qt.Assert(t, qt.IsNil(err))
    21  	for _, f := range files {
    22  		t.Run(f, func(t *testing.T) {
    23  			ar, err := txtar.ParseFile(f)
    24  			qt.Assert(t, qt.IsNil(err))
    25  			tfs := txtarfs.FS(ar)
    26  			reg := newRegistry(t, tfs, "_registry")
    27  
    28  			want, err := fs.ReadFile(tfs, "want")
    29  			qt.Assert(t, qt.IsNil(err))
    30  
    31  			versionsData, _ := fs.ReadFile(tfs, "versions")
    32  			versions := strings.Fields(string(versionsData))
    33  
    34  			var out strings.Builder
    35  			mf, err := UpdateVersions(context.Background(), tfs, ".", reg, versions)
    36  			if err != nil {
    37  				fmt.Fprintf(&out, "error: %v\n", err)
    38  			} else {
    39  				data, err := mf.Format()
    40  				qt.Assert(t, qt.IsNil(err))
    41  				out.Write(data)
    42  			}
    43  			if diff := cmp.Diff(string(want), out.String()); diff != "" {
    44  				t.Log("actual result:\n", out.String())
    45  				t.Fatalf("unexpected results (-want +got):\n%s", diff)
    46  			}
    47  		})
    48  	}
    49  }
    50  

View as plain text