1 19 20 package org.netbeans.core.windows.awt; 21 22 import java.io.InputStream ; 23 import junit.framework.*; 24 import org.netbeans.junit.*; 25 import org.openide.cookies.InstanceCookie; 26 27 import org.openide.filesystems.*; 28 import org.openide.loaders.*; 29 30 34 public class ValidateLayerJavaHelpTest extends NbTestCase { 35 36 37 public ValidateLayerJavaHelpTest( String name ) { 38 super( name ); 39 } 40 41 45 protected String rootName () { 46 return "Services/JavaHelp"; 47 } 48 49 50 protected boolean skipFile (FileObject fo) { 51 return fo.hasExt ("txt"); 53 } 54 55 protected boolean correctInstance (Object obj) { 56 if (obj instanceof javax.help.HelpSet) { 57 return true; 58 } 59 60 return false; 61 } 62 63 64 68 public void testContentCorrect () throws Exception { 69 java.util.ArrayList errors = new java.util.ArrayList (); 70 71 DataFolder df = DataFolder.findFolder( Repository.getDefault().getDefaultFileSystem().findResource( rootName() ) ); 72 verifyHelpSets( df, errors ); 73 74 if (!errors.isEmpty()) { 75 fail ("Some files do not provide valid helpsets " + errors); 76 } 77 } 78 79 private void verifyHelpSets( DataFolder f, java.util.ArrayList errors ) throws Exception { 80 DataObject[] arr = f.getChildren(); 81 for (int i = 0; i < arr.length; i++) { 82 if (arr[i] instanceof DataFolder) { 83 verifyHelpSets( (DataFolder)arr[i], errors ); 84 continue; 85 } 86 FileObject file = arr[i].getPrimaryFile (); 87 88 if (skipFile (file)) { 89 continue; 90 } 91 92 Object url = file.getURL(); 93 94 InstanceCookie ic = (InstanceCookie)arr[i].getCookie(InstanceCookie.class); 95 if (ic == null) { 96 errors.add ("\n File " + file + " does not have instance cookie, url: " + url); 97 continue; 98 } 99 100 try { 101 Object obj = ic.instanceCreate(); 102 if (correctInstance (obj)) { 103 continue; 104 } 105 errors.add ("\n File " + arr[i].getPrimaryFile () + " does not provide correct instance: " + obj + " url: " + url); 106 } catch (Exception ex) { 107 errors.add ("\n File " + arr[i].getPrimaryFile () + " cannot be read " + ex + " url: " + url); 108 } 109 } 110 } 111 } 112 113 | Popular Tags |