From: Morgan Harris Date: Tue, 23 Nov 2021 02:11:12 +0000 (+1100) Subject: Add test for closest matching parent X-Git-Tag: 3.1.2~2^2~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=180b292968f7b1491757ea9195cb12bf6c12bba9;p=svg.js.git Add test for closest matching parent --- diff --git a/spec/spec/elements/Element.js b/spec/spec/elements/Element.js index 0d7fa55..5076373 100644 --- a/spec/spec/elements/Element.js +++ b/spec/spec/elements/Element.js @@ -175,6 +175,19 @@ describe('Element.js', function () { expect(rect.parents(group1).length).toBe(3) expect(rect.parents()).toEqual([ group3, group2, group1, canvas ]) }) + + it('returns array of parents until the closest matching parent', () => { + const canvas = SVG().addTo(container) + const groupA = canvas.group().addClass('test') + const group1 = canvas.group().addClass('test') + const group2 = group1.group().addClass('test').addClass('foo') + const group3 = group2.group().addClass('foo') + const rect = group3.rect(100, 100) + + expect(rect.parents('.test')).toEqual([ group3, group2 ]) + expect(rect.parents('.foo')).toEqual([ group3 ]) + expect(rect.parents('.test:not(.foo)')).toEqual([ group3, group2, group1 ]) + }) }) describe('reference()', () => {