testskinaggregation.java
来自「jetspeed源代码」· Java 代码 · 共 694 行 · 第 1/2 页
JAVA
694 行
print("PortletSet ID: " + pSet.getID());
print("PortletSet name: " + pSet.getName());
assertTrue(pSet.getID().equals("01"));
assertTrue(pSet.getName().equals("theRootSet"));
printOk();
}
/**
* Checks for the physical presence of skins.
* portlet id's within the list should have skins
* while those not in the list should NOT have skins.
* A null list means that ALL skins should be unset.
*
*/
protected void checkSkinPresence(Portlets portlets, List idsWithSkins)
{
assertNotNull(portlets);
printOk();
print("Verify all skins presence for this profile...");
if (idsWithSkins == null || !idsWithSkins.contains(portlets.getId()))
{
print("Verify that root *DOES NOT* have a skin set...");
assertNull(portlets.getSkin());
}
else
{
print("Verify that root *DOES* have a skin set...");
assertNotNull(portlets.getSkin());
}
printOk();
Iterator itr = portlets.getPortletsIterator();
while (itr.hasNext())
{
Portlets childPortlets = (Portlets) itr.next();
if (idsWithSkins == null || !idsWithSkins.contains(childPortlets.getId()))
{
print("Verify skin *IS NOT* set for Portlets " + getNameTag(childPortlets) + "...");
assertNull(childPortlets.getSkin());
}
else
{
print("Verify skin *IS* set for Portlets " + getNameTag(childPortlets) + "...");
assertNotNull(childPortlets.getSkin());
}
printOk();
Iterator pItr = childPortlets.getEntriesIterator();
while (pItr.hasNext())
{
PsmlEntry entry = (PsmlEntry) pItr.next();
if (idsWithSkins == null || !idsWithSkins.contains(entry.getId()))
{
print("Verify skin *IS NOT* set for portlet " + getNameTag(entry) + "...");
assertNull(entry.getSkin());
}
else
{
print("Verify skin *IS* set for portlet " + getNameTag(entry) + "...");
assertNotNull(entry.getSkin());
}
printOk();
}
}
}
protected boolean matchesParentSkin(Portlet portlet, Portlet parent)
{
String parentSkin = parent.getPortletConfig().getPortletSkin().getName();
return matchesSkin(portlet, parentSkin);
}
protected boolean matchesDefaultSkin(Portlet portlet)
{
return matchesSkin(portlet, this.defaultSkin);
}
protected boolean matchesSkin(Portlet portlet, String skinName)
{
String mySkin = portlet.getPortletConfig().getPortletSkin().getName();
return mySkin.equals(skinName);
}
/**
* Performs skin checks for a portlet based on the MatchSettings
* associated with it
*/
protected void performCheck(Portlet portlet, PSMLDocument doc, Portlet parent, MatchSettings settings, String linePrefix)
{
boolean isRoot = (parent == null);
if (linePrefix == null)
linePrefix = "";
IdentityElement element = doc.getPortletsById(portlet.getID());
if (element == null)
element = doc.getEntryById(portlet.getID());
print(linePrefix + "Verify a corresponding IdentitiyElement for " + getNameTag(portlet));
assertNotNull(element);
printOk(linePrefix);
// automatic settings for a "virgin" skin settings
if (settings == null)
settings = new MatchSettings(true, true, null, false);
if (settings.isSkinPresent())
{
print(linePrefix + "Verify skin *IS* set for IdentitiyElement " + getNameTag(element) + "...");
assertNotNull(element.getSkin());
printOk(linePrefix);
}
else
{
print(linePrefix + "Verify skin *IS NOT* set for IdentitiyElement " + getNameTag(element) + "...");
Skin showSkin = element.getSkin();
assertNull(element.getSkin());
printOk(linePrefix);
}
if (!isRoot && settings.matchParentSkin())
{
print(linePrefix + "Verify that Portlet " + getNameTag(portlet) + "'s skin matches it's parent's, " + getNameTag(parent) + " skin...");
assertNotNull(parent);
matchesParentSkin(portlet, parent);
printOk(linePrefix);
}
if (settings.matchDefaultSkin())
{
print(linePrefix + "Verify that Portlet " + getNameTag(portlet) + "'s skin matches the default skin...");
matchesDefaultSkin(portlet);
printOk(linePrefix);
}
if (settings.getSkin() != null)
{
print(linePrefix + "Verify that Portlet " + getNameTag(portlet) + "'s skin uses the skin " + settings.getSkin() + "...");
matchesSkin(portlet, settings.getSkin());
printOk(linePrefix);
}
}
/**
* Creates the test suite.
*
* @return a test suite (<code>TestSuite</code>) that includes all methods
* starting with "test"
*/
public static Test suite()
{
// All methods starting with "test" will be executed in the test suite.
return new TestSuite(TestSkinAggregation.class);
}
public static void main(String[] args)
{
junit.awtui.TestRunner.main(new String[] { TestSkinAggregation.class.getName()});
}
protected File createTestProfile(File base)
{
File testFile = null;
BufferedReader reader = null;
BufferedWriter writer = null;
try
{
String testDir = base.getParent();
String testFilePath = testDir + File.separator + "working_" + base.getName();
testFile = new File(testFilePath);
if (testFile.exists())
testFile.delete();
else
testFile.createNewFile();
reader = new BufferedReader(new FileReader(base));
writer = new BufferedWriter(new FileWriter(testFile));
String line;
while ((line = reader.readLine()) != null)
{
writer.write(line);
}
// make sure we write the file
writer.flush();
}
catch (Exception e)
{
e.printStackTrace();
testResult.addError(this, new NestableException("Unable to build workin file for skin test.", e));
}
finally
{
try
{
if (reader != null)
reader.close();
if (writer != null)
writer.close();
}
catch (IOException e)
{
// let it go
}
}
return testFile;
}
/**
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception
{
super.setUp();
ResourceService serviceConf = ((TurbineServices) TurbineServices.getInstance()).getResources(PortalToolkitService.SERVICE_NAME);
this.defaultSkin = serviceConf.getString("default.skin");
String path = getTestConfig().getString(SKIN_TEST_PATH);
String path2 = getTestConfig().getString(SKIN_TEST2_PATH);
String path3 = getTestConfig().getString(SKIN_TEST3_PATH);
String path4 = getTestConfig().getString(SKIN_TEST4_PATH);
prof1 = new File(path);
prof2 = new File(path2);
prof3 = new File(path3);
prof4 = new File(path4);
}
protected boolean usesDefaultSkin(Portlet portlet)
{
return portlet.getPortletConfig().getPortletSkin().getName().equals(this.defaultSkin);
}
protected String getNameTag(Portlet portlet)
{
return "Id: " + portlet.getID() + " Name: " + portlet.getName();
}
protected String getNameTag(IdentityElement el)
{
return "Id: " + el.getId() + " Name: " + el.getName();
}
/**
* Allows setting of matching criteria for individual portlet
* entries
*/
class MatchSettings
{
private boolean defaultSkin;
private boolean parentSkin;
private String skin;
private boolean skinPresent;
public MatchSettings(boolean defaultSkin, boolean parentSkin, String skin, boolean skinPresent)
{
this.defaultSkin = defaultSkin;
this.parentSkin = parentSkin;
this.skin = skin;
this.skinPresent = skinPresent;
}
/**
* Returns the defaultSkin.
* @return boolean
*/
public boolean matchDefaultSkin()
{
return defaultSkin;
}
/**
* Returns the parentSkin.
* @return boolean
*/
public boolean matchParentSkin()
{
return parentSkin;
}
/**
* Returns the skin.
* @return String
*/
public String getSkin()
{
return skin;
}
/**
* Sets the defaultSkin.
* @param defaultSkin The defaultSkin to set
*/
public void setDefaultSkin(boolean defaultSkin)
{
this.defaultSkin = defaultSkin;
}
/**
* Sets the parentSkin.
* @param parentSkin The parentSkin to set
*/
public void setParentSkin(boolean parentSkin)
{
this.parentSkin = parentSkin;
}
/**
* Sets the skin.
* @param skin The skin to set
*/
public void setSkin(String skin)
{
this.skin = skin;
}
/**
* Returns the skinPresent.
* @return boolean
*/
public boolean isSkinPresent()
{
return skinPresent;
}
/**
* Sets the skinPresent. Specifies whether or not this
* Portlet's PsmlDocument Entry should have a skin
* assigned to it.
* @param skinPresent The skinPresent to set
*/
public void setSkinPresent(boolean skinPresent)
{
this.skinPresent = skinPresent;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?