1 28 29 package com.idaremedia.antx.valueuri.tests; 30 31 import org.apache.tools.ant.Project; 32 33 import junit.framework.TestSuite; 34 35 import com.idaremedia.antx.Iteration; 36 import com.idaremedia.antx.ValueURIHandler; 37 import com.idaremedia.antx.valueuri.info.DefaultsValueURIHandler; 38 39 48 49 public final class DefaultsValueURIHandlerTest extends ValueURIHandlerTestSkeleton 50 { 51 55 public DefaultsValueURIHandlerTest(String methodname) 56 { 57 super("DefaultsValueURIHandler::",methodname); 58 } 59 60 61 64 public static TestSuite suite() 65 { 66 return new TestSuite(DefaultsValueURIHandlerTest.class); 67 } 68 69 73 protected String xmlTestFile() 74 { 75 return "defaults.xml"; 76 } 77 78 protected ValueURIHandler newOUT() 79 { 80 return new DefaultsValueURIHandler(); 81 } 82 83 protected void setUp() throws Exception 84 { 85 super.setUp(); 86 assertNil(getProject().getProperty("defaults.licenses"), 87 "'defaults.licenses' property"); 88 } 89 90 94 98 public void testBaseline_AntX05() 99 { 100 checkBaseline(); 101 102 String result = newOUT().valueFrom("","$default:",m_rqlink); 103 assertNil(result,"$default:"); 104 } 105 106 107 111 public void testKeyIsCaseInsensitive_AntX05() 112 { 113 ValueURIHandler out = newOUT(); 114 String result1 = out.valueFrom("CONFIGID","$default:CONFIGID",m_rqlink); 115 assertEqual(result1,Iteration.configId(),"$default:CONFIGID"); 116 assertTrue(result1.startsWith("jware.antx"),"configid startswith jware.antx"); 117 String result2 = out.valueFrom("configid","$default:configid",m_rqlink); 118 assertEqual(result2,result1,"$default:config"); 119 120 result1 = out.valueFrom("haltiferror","$default:haltiferror",m_rqlink); 121 result2 = out.valueFrom("haltIfError","$default:haltIfError",m_rqlink); 122 assertEqual(result2,result1,"$default:haltIfError"); 123 assertEqual(result1,String.valueOf(Iteration.defaultdefaults().isHaltIfError())); 124 } 125 126 127 132 public void testCanInlineDefaultsIfNotPredefined_AntX05() 133 { 134 final Project myproject = getProject(); 135 136 ValueURIHandler out = newOUT(); 137 String license = out.valueFrom("licenses?LGPL","$df:licenses?LGPL",m_rqlink); 138 assertEqual(license,"LGPL","$df:licenses?LGPL"); 139 140 assertNil(myproject.getProperty("fallback"),"'fallback' property"); 141 myproject.setProperty("fallback", "MIT"); 142 license = out.valueFrom("licenses?@(fallback)/latest","$df:licenses?@(fallback)/latest",m_rqlink); 143 assertEqual(license,"MIT/latest","$df:licenses?@(fallback)/latest with $fallback=MIT"); 144 145 myproject.setProperty("defaults.licenses","Apache2"); 146 license = out.valueFrom("licenses?LGPL","$df:licenses?LGPL",m_rqlink); 147 assertEqual(license,"Apache2","$df:licenses?LGPL with defaults.license=Apache2"); 148 } 149 150 151 152 158 public void testLiteralKeyRequired_AntX05() 159 { 160 final Project myproject = getProject(); 161 myproject.setProperty("dotd","assertions"); 162 163 ValueURIHandler out = newOUT(); 164 String result = out.valueFrom("@(dotd)","$df:@(dotd)",m_rqlink); 165 assertNil(result,"$df:@(dotd)"); 166 167 result = out.valueFrom("@(dotd)?@(dotd)","$df:@(dotd)?@(dotd)",m_rqlink); 168 assertEqual(result,"assertions","$df:@(dotd)?@(dotd)"); 169 } 170 171 172 173 177 public void testDefaultsHandlerInAntScript_AntX05() 178 { 179 runTarget("testInstallDefaultsHandler_AntX05"); 180 } 181 182 183 187 public void testDefaultsValueApiCanExtractInlineDefaults_AntX05() 188 { 189 final Project myproject = getProject(); 190 myproject.setProperty("defaults.licenses","MIT"); 191 192 ValueURIHandler out = newOUT(); 193 String result = out.getDefaultValue("$df:licenses?GPL",m_rqlink); 194 assertEqual(result,"GPL","getDefault('$df:licenses?GPL')"); 195 196 myproject.setProperty("fallback","CollabNet"); 197 result = out.getDefaultValue("$df:licenses?@(fallback)",m_rqlink); 198 assertEqual(result,"CollabNet","getDefault('$df:licenses?@(fallback)') where $fallback=CollabNet"); 199 } 200 } 201 202 | Popular Tags |