From 81c50ba8445f138a681349ab06cc20fd8fba1699 Mon Sep 17 00:00:00 2001 From: Aaron Pettengill Date: Mon, 6 Apr 2020 13:37:02 -0400 Subject: [PATCH 1/2] fix: Only return first child element in label query --- src/__tests__/element-queries.js | 36 +++++++++++++++++++++++++++++--- src/queries/label-text.js | 5 +++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/__tests__/element-queries.js b/src/__tests__/element-queries.js index b0dc39c8..4e1f735b 100644 --- a/src/__tests__/element-queries.js +++ b/src/__tests__/element-queries.js @@ -230,7 +230,7 @@ test('can filter results of label query based on selector', () => { }) test('can find any form control when label text is inside other elements', () => { - const {getAllByLabelText} = render(` + const {getByLabelText} = render(` `) - const result = getAllByLabelText('Test Label') - expect(result).toHaveLength(7) + const nodeTypes = [ + 'button', + 'input', + 'meter', + 'output', + 'progress', + 'select', + 'textarea', + ] + nodeTypes.forEach(nodeType => { + expect(getByLabelText('Test Label', {selector: nodeType}).nodeName).toEqual( + nodeType.toUpperCase(), + ) + }) +}) + +test('returns the first form control inside a label', () => { + const {getByLabelText} = render(` +