(t *testing.T)
| 72 | } |
| 73 | |
| 74 | func TestProcessLinesWithUnspecifiedMacros(t *testing.T) { |
| 75 | lines, _, err := ParseLines(strings.NewReader(strings.Join([]string{ |
| 76 | "[attr]lfs filter=lfs diff=lfs merge=lfs -text", |
| 77 | "*.dat lfs", |
| 78 | "*.dat !lfs"}, "\n"))) |
| 79 | |
| 80 | assert.Len(t, lines, 3) |
| 81 | assert.NoError(t, err) |
| 82 | |
| 83 | assert.Implements(t, (*MacroLine)(nil), lines[0]) |
| 84 | assert.Implements(t, (*PatternLine)(nil), lines[1]) |
| 85 | assert.Implements(t, (*PatternLine)(nil), lines[2]) |
| 86 | |
| 87 | mp := NewMacroProcessor() |
| 88 | patternLines := mp.ProcessLines(lines, true) |
| 89 | |
| 90 | assert.Len(t, patternLines, 2) |
| 91 | |
| 92 | assert.Implements(t, (*PatternLine)(nil), patternLines[0]) |
| 93 | assert.Implements(t, (*PatternLine)(nil), patternLines[1]) |
| 94 | |
| 95 | assert.Equal(t, patternLines[0].Pattern().String(), "*.dat") |
| 96 | assert.Len(t, patternLines[0].Attrs(), 5) |
| 97 | assert.Equal(t, patternLines[0].Attrs()[0], &Attr{K: "filter", V: "lfs"}) |
| 98 | assert.Equal(t, patternLines[0].Attrs()[1], &Attr{K: "diff", V: "lfs"}) |
| 99 | assert.Equal(t, patternLines[0].Attrs()[2], &Attr{K: "merge", V: "lfs"}) |
| 100 | assert.Equal(t, patternLines[0].Attrs()[3], &Attr{K: "text", V: "false"}) |
| 101 | assert.Equal(t, patternLines[0].Attrs()[4], &Attr{K: "lfs", V: "true"}) |
| 102 | |
| 103 | assert.Equal(t, patternLines[1].Pattern().String(), "*.dat") |
| 104 | assert.Len(t, patternLines[1].Attrs(), 5) |
| 105 | assert.Equal(t, patternLines[1].Attrs()[0], &Attr{K: "filter", V: "", Unspecified: true}) |
| 106 | assert.Equal(t, patternLines[1].Attrs()[1], &Attr{K: "diff", V: "", Unspecified: true}) |
| 107 | assert.Equal(t, patternLines[1].Attrs()[2], &Attr{K: "merge", V: "", Unspecified: true}) |
| 108 | assert.Equal(t, patternLines[1].Attrs()[3], &Attr{K: "text", V: "", Unspecified: true}) |
| 109 | assert.Equal(t, patternLines[1].Attrs()[4], &Attr{K: "lfs", V: "", Unspecified: true}) |
| 110 | } |
| 111 | |
| 112 | func TestProcessLinesWithBinaryMacros(t *testing.T) { |
| 113 | lines, _, err := ParseLines(strings.NewReader(strings.Join([]string{ |
nothing calls this directly
no test coverage detected