1 7 package fr.jayasoft.ivy.ant; 8 9 import junit.framework.TestCase; 10 import org.apache.tools.ant.Project; 11 import org.apache.tools.ant.types.FileSet; 12 import org.apache.tools.ant.types.Path; 13 14 import java.io.File ; 15 16 public class IvyBuildListTest extends TestCase { 17 18 public void testSimple() { 19 Project p = new Project(); 20 21 IvyBuildList buildlist = new IvyBuildList(); 22 buildlist.setProject(p); 23 24 FileSet fs = new FileSet(); 25 fs.setDir(new File ("test/buildlist")); 26 fs.setIncludes("**/build.xml"); 27 buildlist.addFileset(fs); 28 29 buildlist.setReference("ordered.build.files"); 30 31 buildlist.execute(); 32 33 Object o = p.getReference("ordered.build.files"); 34 assertNotNull(o); 35 assertTrue(o instanceof Path); 36 37 Path path = (Path)o; 38 String [] files = path.list(); 39 assertNotNull(files); 40 assertEquals(4, files.length); 41 42 assertEquals(new File ("test/buildlist/B/build.xml").getAbsolutePath(), new File (files[0]).getAbsolutePath()); 43 assertEquals(new File ("test/buildlist/C/build.xml").getAbsolutePath(), new File (files[1]).getAbsolutePath()); 44 assertEquals(new File ("test/buildlist/A/build.xml").getAbsolutePath(), new File (files[2]).getAbsolutePath()); 45 assertEquals(new File ("test/buildlist/D/build.xml").getAbsolutePath(), new File (files[3]).getAbsolutePath()); 46 } 47 48 public void testReverse() { 49 Project p = new Project(); 50 51 IvyBuildList buildlist = new IvyBuildList(); 52 buildlist.setProject(p); 53 buildlist.setReverse(true); 54 55 FileSet fs = new FileSet(); 56 fs.setDir(new File ("test/buildlist")); 57 fs.setIncludes("**/build.xml"); 58 buildlist.addFileset(fs); 59 60 buildlist.setReference("reverse.ordered.build.files"); 61 62 buildlist.execute(); 63 64 Object o = p.getReference("reverse.ordered.build.files"); 65 assertNotNull(o); 66 assertTrue(o instanceof Path); 67 68 Path path = (Path)o; 69 String [] files = path.list(); 70 assertNotNull(files); 71 assertEquals(4, files.length); 72 73 assertEquals(new File ("test/buildlist/D/build.xml").getAbsolutePath(), new File (files[0]).getAbsolutePath()); 74 assertEquals(new File ("test/buildlist/A/build.xml").getAbsolutePath(), new File (files[1]).getAbsolutePath()); 75 assertEquals(new File ("test/buildlist/C/build.xml").getAbsolutePath(), new File (files[2]).getAbsolutePath()); 76 assertEquals(new File ("test/buildlist/B/build.xml").getAbsolutePath(), new File (files[3]).getAbsolutePath()); 77 } 78 79 public void testWithRoot() { 80 Project p = new Project(); 81 82 IvyBuildList buildlist = new IvyBuildList(); 83 buildlist.setProject(p); 84 buildlist.setRoot("C"); 85 86 FileSet fs = new FileSet(); 87 fs.setDir(new File ("test/buildlist")); 88 fs.setIncludes("**/build.xml"); 89 buildlist.addFileset(fs); 90 91 buildlist.setReference("ordered.build.files"); 92 93 buildlist.execute(); 94 95 Object o = p.getReference("ordered.build.files"); 96 assertNotNull(o); 97 assertTrue(o instanceof Path); 98 99 Path path = (Path)o; 100 String [] files = path.list(); 101 assertNotNull(files); 102 assertEquals(2, files.length); 104 assertEquals(new File ("test/buildlist/B/build.xml").getAbsolutePath(), new File (files[0]).getAbsolutePath()); 105 assertEquals(new File ("test/buildlist/C/build.xml").getAbsolutePath(), new File (files[1]).getAbsolutePath()); 106 } 107 108 public void testWithRootExclude() { 109 Project p = new Project(); 110 111 IvyBuildList buildlist = new IvyBuildList(); 112 buildlist.setProject(p); 113 buildlist.setRoot("C"); 114 buildlist.setExcludeRoot(true); 115 116 FileSet fs = new FileSet(); 117 fs.setDir(new File ("test/buildlist")); 118 fs.setIncludes("**/build.xml"); 119 buildlist.addFileset(fs); 120 121 buildlist.setReference("ordered.build.files"); 122 123 buildlist.execute(); 124 125 Object o = p.getReference("ordered.build.files"); 126 assertNotNull(o); 127 assertTrue(o instanceof Path); 128 129 Path path = (Path)o; 130 String [] files = path.list(); 131 assertNotNull(files); 132 assertEquals(1, files.length); 134 assertEquals(new File ("test/buildlist/B/build.xml").getAbsolutePath(), new File (files[0]).getAbsolutePath()); 135 } 136 137 public void testWithLeaf() { 138 Project p = new Project(); 139 140 IvyBuildList buildlist = new IvyBuildList(); 141 buildlist.setProject(p); 142 buildlist.setLeaf("C"); 143 144 FileSet fs = new FileSet(); 145 fs.setDir(new File ("test/buildlist")); 146 fs.setIncludes("**/build.xml"); 147 buildlist.addFileset(fs); 148 149 buildlist.setReference("ordered.build.files"); 150 151 buildlist.execute(); 152 153 Object o = p.getReference("ordered.build.files"); 154 assertNotNull(o); 155 assertTrue(o instanceof Path); 156 157 Path path = (Path)o; 158 String [] files = path.list(); 159 assertNotNull(files); 160 assertEquals(3, files.length); 162 assertEquals(new File ("test/buildlist/C/build.xml").getAbsolutePath(), new File (files[0]).getAbsolutePath()); 163 assertEquals(new File ("test/buildlist/A/build.xml").getAbsolutePath(), new File (files[1]).getAbsolutePath()); 164 assertEquals(new File ("test/buildlist/D/build.xml").getAbsolutePath(), new File (files[2]).getAbsolutePath()); 165 } 166 167 public void testWithLeafExclude() { 168 Project p = new Project(); 169 170 IvyBuildList buildlist = new IvyBuildList(); 171 buildlist.setProject(p); 172 buildlist.setLeaf("C"); 173 buildlist.setExcludeLeaf(true); 174 175 FileSet fs = new FileSet(); 176 fs.setDir(new File ("test/buildlist")); 177 fs.setIncludes("**/build.xml"); 178 buildlist.addFileset(fs); 179 180 buildlist.setReference("ordered.build.files"); 181 182 buildlist.execute(); 183 184 Object o = p.getReference("ordered.build.files"); 185 assertNotNull(o); 186 assertTrue(o instanceof Path); 187 188 Path path = (Path)o; 189 String [] files = path.list(); 190 assertNotNull(files); 191 assertEquals(2, files.length); 193 assertEquals(new File ("test/buildlist/A/build.xml").getAbsolutePath(), new File (files[0]).getAbsolutePath()); 194 assertEquals(new File ("test/buildlist/D/build.xml").getAbsolutePath(), new File (files[1]).getAbsolutePath()); 195 } 196 197 } 198 | Popular Tags |