[
https://issues.apache.org/jira/browse/TRINIDAD-2510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14160868#comment-14160868
]
Andy Schwartz commented on TRINIDAD-2510:
-----------------------------------------
Thanks for the patch. I see that this introduces a new protected (final)
method:
/**
* Performs a visit of all style sheet nodes in the specified test
* skin. This overloaded method is useful in extending SkinTestCase to
* create more test cases since TestSkin does not provide all the skins
* that test needs.
*/
protected final void visitStyleSheets(String skinResourcePath,
StyleSheetVisitor visitor)
{
StyleSheetDocument document = SkinTestUtils.parseSkin(skinResourcePath);
StyleSheetVisitUtils.visitStyleSheets(document.getStyleSheetsAsCollection(),
visitor);
}
That is an overload of this protected method that is already present:
/**
* Performs a visit of all style sheet nodes in the specified test
* skin
*/
protected void visitStyleSheets(TestSkin testSkin, StyleSheetVisitor visitor)
{
StyleSheetDocument document = getSkinDocument(testSkin);
StyleSheetVisitUtils.visitStyleSheets(document.getStyleSheetsAsCollection(),
visitor);
}
The new protected method that takes the String resource path looks like the
more primitive method, and thus would make more sense as the non-final hook.
What do you think about doing this:
1. Change the old TestSkin-based method such that it looks up its resource
path and then calls the new String-based method with this value.
2. Make the old TestSkin-based method final.
3. Make the new String-based method non-final.
This also has the nice side effect of avoiding the duplicate call to
StyleSheetVisitUtils.visitStyleSheets().
> make SkinTestCase more extendable
> ---------------------------------
>
> Key: TRINIDAD-2510
> URL: https://issues.apache.org/jira/browse/TRINIDAD-2510
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Components: Skinning
> Affects Versions: 2.1.0-core
> Reporter: Anand V Nath
> Priority: Minor
> Attachments: jira-2510-modified.patch, jira-2510.patch
>
>
> SkinTestCase which is part of trinidad-impl/test, works with TestSkin enum
> which does not offer flexibility. The change proposed is to add an overloaded
> method for visiting skins where the skin resource path can be passed as a
> String. This will enable test cases extending SkinTestCase to work with any
> skin of their choice.
> The proposed change is to add this method in SkinTestCase:
> /**
> * Performs a visit of all style sheet nodes in the specified test
> * skin. This overloaded method is useful in extending SkinTestCase to
> * create more test cases since TestSkin does not provide all the skins
> * that test needs.
> */
> protected final void visitStyleSheets(String skinResourcePath,
> StyleSheetVisitor visitor)
> {
> StyleSheetDocument document = SkinTestUtils.parseSkin(skinResourcePath);
>
> StyleSheetVisitUtils.visitStyleSheets(document.getStyleSheetsAsCollection(),
> visitor);
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)