1 28 29 package com.idaremedia.antx.valueuri.tests; 30 31 import java.io.File ; 32 33 import org.apache.tools.ant.taskdefs.condition.Os; 34 35 import junit.framework.TestSuite; 36 37 import com.idaremedia.antx.ValueURIHandler; 38 import com.idaremedia.antx.valueuri.BasenameValueURIHandler; 39 40 49 50 public final class BasenameValueURIHandlerTest extends ValueURIHandlerTestSkeleton 51 { 52 56 public BasenameValueURIHandlerTest(String methodname) 57 { 58 super("BasenameValueURIHandler::",methodname); 59 isWindoze = Os.isFamily("windows"); 60 } 61 62 63 66 public static TestSuite suite() 67 { 68 return new TestSuite(BasenameValueURIHandlerTest.class); 69 } 70 71 75 protected ValueURIHandler newOUT() 76 { 77 return new BasenameValueURIHandler(); 78 } 79 80 84 88 public void testBaseline_AntX05() 89 { 90 checkBaseline(); 91 92 File basedir = getProject().getBaseDir(); 93 assertNotNil(basedir,"project basedir"); 94 95 ValueURIHandler out = newOUT(); 96 String blankresult = out.valueFrom("","$basename:",m_rqlink); 97 String basepath = basedir.getPath(); 98 String baseresult = out.valueFrom(basepath,"$basename:"+basepath,m_rqlink); 99 assertEqual(blankresult,baseresult,"$basename:"); 100 blankresult = out.valueFrom("?.foo","$basename:?.foo",m_rqlink); 101 assertEqual(blankresult,baseresult,"$basename:?.foo"); 102 } 103 104 105 109 public void testRootPathIsBlankBasename_AntX05() 110 { 111 ValueURIHandler out = newOUT(); 112 String slash = isWindoze ? "\\" : "/"; 113 String result = out.valueFrom(slash,"$basename:"+slash,m_rqlink); 114 assertEqual(result,"","$basename:"+slash); 115 } 116 117 118 122 public void testSlashTerminatedPath_AntX05() 123 { 124 ValueURIHandler out = newOUT(); 125 String result= out.valueFrom("/fu/bar/","$basename:/fu/bar/",m_rqlink); 126 assertEqual(result,"bar","$basename:/fu/bar/"); 127 if (isWindoze) { 128 result = out.valueFrom("\\fu\\bar\\","$basename:\\fu\\bar\\",m_rqlink); 129 assertEqual(result,"bar","$basename:\\fu\\bar\\"); 130 } 131 } 132 133 134 138 public void testCanStripSuffix_AntX05() 139 { 140 ValueURIHandler out = newOUT(); 141 String result = out.valueFrom("/xml/file.xml?xml","$basename:/xml/file.xml?xml",m_rqlink); 142 assertEqual(result,"file","$basename:/xml/file.xml?xml"); 143 result = out.valueFrom("/xml/file.xml?.xml","$basename:/xml/file.xml?.xml",m_rqlink); 144 assertEqual(result,"file","$basename:/xml/file.xml?.xml"); 145 result = out.valueFrom("/xml/file.xml?.XML","$basename:/xml/file.xml?.XML",m_rqlink); 146 assertEqual(result,"file.xml","$basename:/xml/file.xml?.XML"); 147 result = out.valueFrom("/a/dir/fubar-libs?-libs","$basename:/a/dir/fubar-libs?-libs",m_rqlink); 148 assertEqual(result,"fubar","$basename:/a/dir/fubar-libs?-libs"); 149 } 150 151 152 156 public void testEmbeddedPropertyRefsHandled_AntX05() 157 { 158 ValueURIHandler out = newOUT(); 159 String result = out.valueFrom("@(basedir)","$basename:@(basedir)",m_rqlink); 160 String basepath = getProject().getBaseDir().getPath(); 161 String baseresult = out.valueFrom(basepath,"$basename:"+basepath,m_rqlink); 162 assertEqual(result,baseresult,"$basename:@(basedir)"); 163 164 getProject().setProperty("ext","-lib"); 165 result = out.valueFrom("/fu/bar-lib/?@(ext)","$basename:/fu/bar-lib/?@(ext)",m_rqlink); 166 assertEqual(result,"bar","$basename:/fu/bar-lib/?@(ext)"); 167 } 168 169 170 private final boolean isWindoze; 171 } 172 173 | Popular Tags |