(t *testing.T)
| 567 | } |
| 568 | |
| 569 | func TestParseFile(t *testing.T) { |
| 570 | currDir, err := os.Getwd() |
| 571 | if err != nil { |
| 572 | t.Fatalf("cannot obtain current directory: %s", err) |
| 573 | } |
| 574 | if err := os.Chdir("../testdata/qtc"); err != nil { |
| 575 | t.Fatalf("cannot change directory to `../testdata/qtc`: %s", err) |
| 576 | } |
| 577 | defer func() { |
| 578 | if err := os.Chdir(currDir); err != nil { |
| 579 | t.Fatalf("cannot change directory to %q: %s", currDir, err) |
| 580 | } |
| 581 | }() |
| 582 | |
| 583 | filename := "test.qtpl" |
| 584 | f, err := os.Open(filename) |
| 585 | if err != nil { |
| 586 | t.Fatalf("cannot open file %q: %s", filename, err) |
| 587 | } |
| 588 | defer f.Close() |
| 589 | |
| 590 | w := quicktemplate.AcquireByteBuffer() |
| 591 | if err := Parse(w, f, "test.qtpl", "qtc"); err != nil { |
| 592 | t.Fatalf("unexpected error: %s", err) |
| 593 | } |
| 594 | code, err := format.Source(w.B) |
| 595 | if err != nil { |
| 596 | t.Fatalf("unexpected error: %s", err) |
| 597 | } |
| 598 | quicktemplate.ReleaseByteBuffer(w) |
| 599 | |
| 600 | expectedFilename := filename + ".expected" |
| 601 | expectedCode, err := ioutil.ReadFile(expectedFilename) |
| 602 | if err != nil { |
| 603 | t.Fatalf("unexpected error: %s", err) |
| 604 | } |
| 605 | |
| 606 | if !bytes.Equal(code, expectedCode) { |
| 607 | if err := ioutil.WriteFile(filename+".generated", code, 0644); err != nil { |
| 608 | t.Fatal(err) |
| 609 | } |
| 610 | t.Fatalf("unexpected code:\n%q\nexpected:\n%q", code, expectedCode) |
| 611 | } |
| 612 | } |
| 613 | |
| 614 | func TestParseNoLineComments(t *testing.T) { |
| 615 | const str = "foobar\nbaz" |
nothing calls this directly
no test coverage detected
searching dependent graphs…