diff --git a/parser/diff/612.osc.gz b/parser/diff/612.osc.gz new file mode 100644 index 0000000..546a736 Binary files /dev/null and b/parser/diff/612.osc.gz differ diff --git a/parser/diff/parser_test.go b/parser/diff/parser_test.go new file mode 100644 index 0000000..2d48911 --- /dev/null +++ b/parser/diff/parser_test.go @@ -0,0 +1,40 @@ +package diff + +import ( + "io" + "testing" +) + +func TestParse(t *testing.T) { + p, err := NewOscGzParser("612.osc.gz") + if err != nil { + t.Fatal(err) + } + + p.SetWithMetadata(true) + + e, err := p.Next() + if err != nil { + t.Fatal(err) + } + + if e.Add || !e.Mod || e.Del { + t.Error("element not parsed as modify", e) + } + if e.Node == nil || e.Node.Id != 25594547 { + t.Error("node not parsed correctly", e) + } + if md := e.Node.Metadata; md == nil || md.Version != 3 { + t.Error("metadata not parsed", md) + } + for { + _, err := p.Next() + if err == io.EOF { + break + } + if err != nil { + t.Fatal(err) + } + } + +}