1package canoninja 2 3import ( 4 "bytes" 5 "testing" 6) 7 8func TestGenerate(t *testing.T) { 9 tests := []struct { 10 name string 11 in []byte 12 wantSink string 13 wantErr bool 14 }{ 15 { 16 name: "1", 17 in: []byte(` 18rule rule1 19 abcd 20rule rule2 21 abcd 22build x: rule1 23`), 24 wantSink: ` 25rule R9c97aba7f61994be6862f5ea9a62d26130c7f48b 26 abcd 27rule R9c97aba7f61994be6862f5ea9a62d26130c7f48b 28 abcd 29build x: R9c97aba7f61994be6862f5ea9a62d26130c7f48b 30`, 31 wantErr: false, 32 }, 33 } 34 for _, tt := range tests { 35 t.Run(tt.name, func(t *testing.T) { 36 sink := &bytes.Buffer{} 37 err := Generate("<file>", tt.in, sink) 38 if (err != nil) != tt.wantErr { 39 t.Errorf("Generate() error = %v, wantErr %v", err, tt.wantErr) 40 return 41 } 42 if gotSink := sink.String(); gotSink != tt.wantSink { 43 t.Errorf("Generate() gotSink = %v, want %v", gotSink, tt.wantSink) 44 } 45 }) 46 } 47} 48