KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > test > java > editor > completion > CompletionTestPerformer


1 //This class is automatically generated - DO NOT MODIFY (ever)
2
/*
3  * The contents of this file are subject to the terms of the Common Development
4  * and Distribution License (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
8  * or http://www.netbeans.org/cddl.txt.
9  *
10  * When distributing Covered Code, include this CDDL Header Notice in each file
11  * and include the License file at http://www.netbeans.org/cddl.txt.
12  * If applicable, add the following below the CDDL Header, with the fields
13  * enclosed by brackets [] replaced by your own identifying information:
14  * "Portions Copyrighted [year] [name of copyright owner]"
15  *
16  * The Original Software is NetBeans. The Initial Developer of the Original
17  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
18  * Microsystems, Inc. All Rights Reserved.
19  */

20 package org.netbeans.test.java.editor.completion;
21 import java.io.BufferedReader JavaDoc;
22 import java.io.PrintWriter JavaDoc;
23 import org.netbeans.junit.NbTestCase;
24 import org.netbeans.junit.NbTestSuite;
25 import org.netbeans.jellytools.JellyTestCase;
26 import org.netbeans.test.editor.LineDiff;
27 import java.io.File JavaDoc;
28 import java.io.FileReader JavaDoc;
29 import java.io.FileReader JavaDoc;
30 import java.io.FileWriter JavaDoc;
31 import java.io.IOException JavaDoc;
32 import org.netbeans.spi.editor.completion.CompletionProvider;
33
34 /**This class is automatically generated from <I>config.txt</I> using bash
35  * script <I>create</I>. For any changes, change the code generating script
36  * and re-generate.
37  *
38  * Althought this class is runned as a test, there is no real code. This class
39  * is only wrapper between xtest and harness independet test code. Main information
40  * source is <B>CompletionTest</B> class ({@link CompletionTest}).
41  *
42  * @see CompletionTest
43  */

44 public class CompletionTestPerformer extends NbTestCase {
45     
46     
47     // automatic generation of golden files
48
protected boolean generateGoledFiles = false;
49     
50     protected PrintWriter JavaDoc outputWriter = null;
51     
52     protected PrintWriter JavaDoc logWriter = null;
53     
54     /** Need to be defined because of JUnit */
55     public CompletionTestPerformer(String JavaDoc name) {
56         super(name);
57     }
58     
59     protected void setUp() {
60         log("CompletionTestPerformer.setUp started.");
61         outputWriter = new PrintWriter JavaDoc(getRef());
62         logWriter = new PrintWriter JavaDoc(getLog());
63         log("CompletionTestPerformer.setUp finished.");
64         log("Test "+getName()+ "started");
65     }
66     
67     
68     protected void tearDown() throws Exception JavaDoc{
69         log("Test "+getName()+" finished");
70         log("CompletionTestPerformer.tearDown");
71         outputWriter.flush();
72         String JavaDoc goldenName = getJDKVersionCode() + "-" + getName() + ".pass";
73         File JavaDoc ref = new File JavaDoc(getWorkDir(), this.getName() + ".ref");
74         if(generateGoledFiles) {
75             BufferedReader JavaDoc br = null;
76             FileWriter JavaDoc fw = null;
77             try {
78                 String JavaDoc newGoldenName = "data/goldenfiles/"+this.getClass().getName().replace('.', '/')+ "/" + goldenName;
79                 File JavaDoc newGolden = new File JavaDoc(getDataDir().getParentFile().getParentFile().getParentFile(),newGoldenName);
80                 newGolden.getParentFile().mkdirs();
81                 br = new BufferedReader JavaDoc(new FileReader JavaDoc(ref));
82                 fw = new FileWriter JavaDoc(newGolden);
83                 getLog().println("Creating golden file "+newGolden.getName()+" in "+newGolden.getAbsolutePath());
84                 String JavaDoc s;
85                 while((s=br.readLine())!=null) fw.write(s+"\n");
86             } catch (IOException JavaDoc ioe) {
87                 fail(ioe.getMessage());
88             } finally {
89                 try {
90                     if(fw!=null) fw.close();
91                     if(br!=null) br.close();
92                 } catch (IOException JavaDoc ioe) {
93                     fail(ioe.getMessage());
94                 }
95             }
96             fail("Generating golden files");
97         }
98         File JavaDoc golden = getGoldenFile(goldenName);
99         File JavaDoc diff = new File JavaDoc(getWorkDir(), this.getName() + ".diff");
100         logWriter.flush();
101         assertFile("Output does not match golden file.", golden, ref, diff, new LineDiff(false));
102         
103     }
104     private String JavaDoc getJDKVersionCode() {
105         String JavaDoc specVersion = System.getProperty("java.version");
106         
107         if (specVersion.startsWith("1.4"))
108             return "jdk14";
109         
110         if (specVersion.startsWith("1.5"))
111             return "jdk15";
112         
113         if (specVersion.startsWith("1.6"))
114             return "jdk16";
115         
116         throw new IllegalStateException JavaDoc("Specification version: " + specVersion + " not recognized.");
117     }
118     
119     private File JavaDoc resolveGoldenFile(String JavaDoc proposedGoldenFileName) {
120         if ("@".equals(proposedGoldenFileName.trim()))
121             return getGoldenFile(getJDKVersionCode() + "-" + getName() + ".pass");
122         else
123             return getGoldenFile(getJDKVersionCode() + "-" + proposedGoldenFileName + ".pass");
124     }
125        
126 }
127
Popular Tags