[ https://issues.apache.org/jira/browse/JCR-3313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286519#comment-13286519 ]
Thomas Mueller commented on JCR-3313: ------------------------------------- (sorry I originally added this comment to the wrong issue) In your patch, you have the following code within the loop: + names.add(columnName); + assertTrue("Missing column: " + columnName, names.remove(columnName)); This will add and then remove the column name, leaving "names" empty. I guess the second line is incorrect? > JCR TCK Test for expanding column names is too restrictive > ---------------------------------------------------------- > > Key: JCR-3313 > URL: https://issues.apache.org/jira/browse/JCR-3313 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-jcr-tests, JCR 2.0 > Affects Versions: 2.4.1 > Reporter: Randall Hauch > Attachments: > 0001-JCR-3313-Changed-a-ColumnTest-test-to-only-check-for.patch > > > The > 'org.apache.jackrabbit.test.api.query.qom.ColumnTest.testExpandColumnsForNodeType()' > test method issues the following query: > SELECT s.* FROM [nt:unstructured] AS s > and then proceeds to check that the columns in the results set. However, a > problem with the expectations in the test: the test assumes that the result > set *only* contains columns for the single-valued, non-residual property > definitions for the selected node type. Clearly this is overly constraining, > since Section 6.7.1 of the JSR-283 specification clearly allows an > implementation to return additional columns (e.g., multi-valued property > definitions). Here's the relevant parts of this section: > A Query consists of: > ... > • A list of zero or more Columns to include in the tabular view of the > query results. > If no columns are specified, the columns available in the tabular view > are implementation > determined, but minimally include, for each selector, a column for each > single-valued > non-residual property of the selector's node type. > In the test's query, no columns are specified for the selector 's', so the > result set must to have AT A MINIMUM the columns for the single-valued > non-residual property defined on the selector's node type, but an > implementation CAN include columns for other properties defined on the > selector's node type. An implementation is even allowed to include columns > that do not map to properties defined on the selector's node type (e.g., > pseudo-columns that don't really exist as properties). > The test's query uses "nt:unstructured" for the test node type (if not > overridden by the test environment), and in this case an implementation > should be allowed to include the 'jcr:mixinTypes' multi-valued property. > Therefore, the test is overly strict and should not fail when extra columns > are included. The correct behavior is to test only that the result includes > AT LEAST a column for each single-valued non-residual property on the > selector's node type. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira