From fd241e442588d073eff5d3be5e8905a597027001 Mon Sep 17 00:00:00 2001 From: Anmol Sethi Date: Wed, 11 Jan 2023 13:20:05 -0800 Subject: [PATCH] d2ir: wip --- d2ir/apply_test.go | 10 ++++++++-- d2ir/d2ir.go | 11 ----------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/d2ir/apply_test.go b/d2ir/apply_test.go index 32ac9281d..5c44020cf 100644 --- a/d2ir/apply_test.go +++ b/d2ir/apply_test.go @@ -149,7 +149,7 @@ func assertField(t testing.TB, n d2ir.Node, nfields, nedges int, primary interfa assert.Equal(t, nfields, m.FieldCount()) assert.Equal(t, nedges, m.EdgeCount()) - if !p.Equal(makeScalar(primary)) { + if !makeScalar(p).Equal(makeScalar(primary)) { t.Fatalf("expected primary %#v but %#v", primary, p) } @@ -180,7 +180,7 @@ func assertEdge(t testing.TB, n d2ir.Node, nfields int, primary interface{}, eid } assert.Equal(t, nfields, e.Map.FieldCount()) - if !e.Primary.Equal(makeScalar(primary)) { + if !makeScalar(e.Primary).Equal(makeScalar(primary)) { t.Fatalf("expected primary %#v but %#v", primary, e.Primary) } @@ -190,6 +190,12 @@ func assertEdge(t testing.TB, n d2ir.Node, nfields int, primary interface{}, eid func makeScalar(v interface{}) *d2ir.Scalar { s := &d2ir.Scalar{} switch v := v.(type) { + case *d2ir.Scalar: + if v == nil { + s.Value = &d2ast.Null{} + return s + } + return v case bool: s.Value = &d2ast.Boolean{ Value: v, diff --git a/d2ir/d2ir.go b/d2ir/d2ir.go index 8facce8b4..07ceccc98 100644 --- a/d2ir/d2ir.go +++ b/d2ir/d2ir.go @@ -80,17 +80,6 @@ func (s *Scalar) Copy(newp Parent) Node { } func (s *Scalar) Equal(s2 *Scalar) bool { - if s == nil { - if s2 == nil { - return true - } - _, ok := s2.Value.(*d2ast.Null) - return ok - } - if s2 == nil { - _, ok := s.Value.(*d2ast.Null) - return ok - } return s.Value.ScalarString() == s2.Value.ScalarString() && s.Value.Type() == s2.Value.Type() }