+++ /dev/null
-package main
-
-import "fmt" // fmt
-
-const c0 = 0 // zero
-
-const (
- c1 = iota; // c1
- c2 // c2
-)
-
-type T struct {
- a, b, c int // 3 fields
-}
-
-var x int // x
-
-var ()
-
-func f0() {
- const pi = 3.14;
- var s1 struct {}
- var s2 struct {} = struct {}{};
- x := pi
-}
import (
"bytes";
+ "flag";
"io";
"go/ast";
"go/parser";
const (
+ dataDir = "testdata";
tabwidth = 4;
padding = 1;
- tabchar = ' ';
+ tabchar = '\t';
)
+var update = flag.Bool("update", false, "update golden files");
+
+
func lineString(text []byte, i int) string {
i0 := i;
for i < len(text) && text[i] != '\n' {
w.Flush();
res := buf.Data();
+ // update golden files if necessary
+ if *update {
+ if err := io.WriteFile(golden, res, 0644); err != nil {
+ t.Error(err);
+ }
+ return;
+ }
+
// get golden
gld, err := io.ReadFile(golden);
if err != nil {
}
-const dataDir = "data";
-
type entry struct {
source, golden string;
exports bool;
}
-// Use gofmt to create/update the respective golden files:
-//
-// gofmt source.go > golden.go
-// gofmt -x source.go > golden.x
-//
+// Use gotest -update to create/update the respective golden files.
var data = []entry{
entry{ "source1.go", "golden1.go", false },
entry{ "source1.go", "golden1.x", true },
--- /dev/null
+package main
+
+import "fmt" // fmt
+
+const c0 = 0 // zero
+
+const (
+ c1 = iota; // c1
+ c2 // c2
+)
+
+type T struct {
+ a, b, c int // 3 fields
+}
+
+var x int // x
+
+var ()
+
+func f0() {
+ const pi = 3.14;
+ var s1 struct {}
+ var s2 struct {} = struct {}{};
+ x := pi
+}