diff --git a/src/dot.test.js b/src/dot.test.js index 574fe3e..303bc9f 100644 --- a/src/dot.test.js +++ b/src/dot.test.js @@ -241,6 +241,12 @@ describe('dot.DotGraph.toString()', () => { expect(screen.getByTestId('dot-src').textContent).toBe(dotSrc); }); + it('accepts "c" as a compass point on nodes', () => { + let dotSrc = 'digraph {a:p1:c}'; + render(); + expect(screen.getByTestId('dot-src').textContent).toBe(dotSrc); + }); + it('renders nodes with names equal to properties of the Javascript Object', () => { const nodeNames = getAllPropertyNames({}); const dotSrc = `digraph {${nodeNames.join(' ')}}`; @@ -286,6 +292,12 @@ describe('dot.DotGraph.toString()', () => { expect(screen.getByTestId('dot-src').textContent).toBe(dotSrc); }); + it('renders an edge directed at the center point of two nodes', () => { + let dotSrc = 'digraph {a:p1:c -> b:p2:c}'; + render(); + expect(screen.getByTestId('dot-src').textContent).toBe(dotSrc); + }); + // nodes and edges it('renders multiple nodes and edges', () => { diff --git a/src/dotGrammar.pegjs b/src/dotGrammar.pegjs index 0b7d7bd..e982532 100644 --- a/src/dotGrammar.pegjs +++ b/src/dotGrammar.pegjs @@ -151,7 +151,7 @@ subgraph } compass_pt - = 'n'/'ne'/'e'/'se'/'s'/'sw'/'w'/'nw' + = 'n'/'ne'/'e'/'se'/'s'/'sw'/'w'/'nw'/'c' ID = STRING