whitespace in component attribute "implements" cause incorrect return when using getMetaData/getComponentMetaData

Description

"implements" attribute
component implements="A,B" {} // ACF requires A and B to be implemented // Lucee requires A and B to be implemented
component implements="A, B" {} // ACF requires A and B to be implemented // Lucee only requires A to be implemented
component implements=" A " {} // ACF requires A to be implemented // Lucee doesn't see any interface requirement
"extends" attribute

This one would be more of a suggestion since ACF doesn't trim either.

component extends="X" {} interface extends="X" {} // ACF inherits from X // Lucee inherits from X
component extends=" X " {} interface extends=" X " {} // ACF cannot find X // Lucee cannot find X

I consider this as bug because in <cftag> syntax, something like this isn't uncommon:

<cfcomponent displayName="MyWhitespaceFriendlyComponent" implements=" some.annoying.long.path.to.WhitespaceFriendlyInterfaceA, another.annoying.long.path.to.WhitespaceFriendlyInterfaceB " >

Environment

None

Activity

Show:

Pothys - MitrahSoft 4 August 2022 at 14:39
Edited

Pothys - MitrahSoft 3 February 2022 at 13:38

I've checked this ticket with the lucee latest version 5.3.9.69-SNAPSHOT and this issue was solved.

Pothys - MitrahSoft 3 February 2022 at 07:01

The PR for 5.3 with testcase

https://github.com/lucee/Lucee/pull/1556

Zac Spitzer 3 February 2022 at 01:35

can you do a PR for 5.3?

Fixed

Details

Assignee

Reporter

Priority

Fix versions

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Sprint

Affects versions

Created 6 March 2021 at 02:19
Updated 4 August 2022 at 14:39
Resolved 3 February 2022 at 13:39

Flag notifications