This file is indexed.

/usr/share/doc/junit4/api/src-html/org/junit/Rule.html is in junit4-doc 4.12-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Source code</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<div class="sourceContainer">
<pre><span class="sourceLineNo">001</span>package org.junit;<a name="line.1"></a>
<span class="sourceLineNo">002</span><a name="line.2"></a>
<span class="sourceLineNo">003</span>import java.lang.annotation.ElementType;<a name="line.3"></a>
<span class="sourceLineNo">004</span>import java.lang.annotation.Retention;<a name="line.4"></a>
<span class="sourceLineNo">005</span>import java.lang.annotation.RetentionPolicy;<a name="line.5"></a>
<span class="sourceLineNo">006</span>import java.lang.annotation.Target;<a name="line.6"></a>
<span class="sourceLineNo">007</span><a name="line.7"></a>
<span class="sourceLineNo">008</span>/**<a name="line.8"></a>
<span class="sourceLineNo">009</span> * Annotates fields that reference rules or methods that return a rule. A field must be public, not<a name="line.9"></a>
<span class="sourceLineNo">010</span> * static, and a subtype of {@link org.junit.rules.TestRule} (preferred) or<a name="line.10"></a>
<span class="sourceLineNo">011</span> * {@link org.junit.rules.MethodRule}. A method must be public, not static,<a name="line.11"></a>
<span class="sourceLineNo">012</span> * and must return a subtype of {@link org.junit.rules.TestRule} (preferred) or<a name="line.12"></a>
<span class="sourceLineNo">013</span> * {@link org.junit.rules.MethodRule}.<a name="line.13"></a>
<span class="sourceLineNo">014</span> * &lt;p&gt;<a name="line.14"></a>
<span class="sourceLineNo">015</span> * The {@link org.junit.runners.model.Statement} passed<a name="line.15"></a>
<span class="sourceLineNo">016</span> * to the {@link org.junit.rules.TestRule} will run any {@link Before} methods,<a name="line.16"></a>
<span class="sourceLineNo">017</span> * then the {@link Test} method, and finally any {@link After} methods,<a name="line.17"></a>
<span class="sourceLineNo">018</span> * throwing an exception if any of these fail.  If there are multiple<a name="line.18"></a>
<span class="sourceLineNo">019</span> * annotated {@link Rule}s on a class, they will be applied in order of fields first, then methods.<a name="line.19"></a>
<span class="sourceLineNo">020</span> * However, if there are multiple fields (or methods) they will be applied in an order<a name="line.20"></a>
<span class="sourceLineNo">021</span> * that depends on your JVM's implementation of the reflection API, which is<a name="line.21"></a>
<span class="sourceLineNo">022</span> * undefined, in general. Rules defined by fields will always be applied<a name="line.22"></a>
<span class="sourceLineNo">023</span> * before Rules defined by methods. You can use a {@link org.junit.rules.RuleChain} if you want<a name="line.23"></a>
<span class="sourceLineNo">024</span> * to have control over the order in which the Rules are applied.<a name="line.24"></a>
<span class="sourceLineNo">025</span> * &lt;p&gt;<a name="line.25"></a>
<span class="sourceLineNo">026</span> * For example, here is a test class that creates a temporary folder before<a name="line.26"></a>
<span class="sourceLineNo">027</span> * each test method, and deletes it after each:<a name="line.27"></a>
<span class="sourceLineNo">028</span> * &lt;pre&gt;<a name="line.28"></a>
<span class="sourceLineNo">029</span> * public static class HasTempFolder {<a name="line.29"></a>
<span class="sourceLineNo">030</span> *     &amp;#064;Rule<a name="line.30"></a>
<span class="sourceLineNo">031</span> *     public TemporaryFolder folder= new TemporaryFolder();<a name="line.31"></a>
<span class="sourceLineNo">032</span> *<a name="line.32"></a>
<span class="sourceLineNo">033</span> *     &amp;#064;Test<a name="line.33"></a>
<span class="sourceLineNo">034</span> *     public void testUsingTempFolder() throws IOException {<a name="line.34"></a>
<span class="sourceLineNo">035</span> *         File createdFile= folder.newFile(&amp;quot;myfile.txt&amp;quot;);<a name="line.35"></a>
<span class="sourceLineNo">036</span> *         File createdFolder= folder.newFolder(&amp;quot;subfolder&amp;quot;);<a name="line.36"></a>
<span class="sourceLineNo">037</span> *         // ...<a name="line.37"></a>
<span class="sourceLineNo">038</span> *     }<a name="line.38"></a>
<span class="sourceLineNo">039</span> * }<a name="line.39"></a>
<span class="sourceLineNo">040</span> * &lt;/pre&gt;<a name="line.40"></a>
<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
<span class="sourceLineNo">042</span> * And the same using a method.<a name="line.42"></a>
<span class="sourceLineNo">043</span> * &lt;pre&gt;<a name="line.43"></a>
<span class="sourceLineNo">044</span> * public static class HasTempFolder {<a name="line.44"></a>
<span class="sourceLineNo">045</span> *     private TemporaryFolder folder= new TemporaryFolder();<a name="line.45"></a>
<span class="sourceLineNo">046</span> *<a name="line.46"></a>
<span class="sourceLineNo">047</span> *     &amp;#064;Rule<a name="line.47"></a>
<span class="sourceLineNo">048</span> *     public TemporaryFolder getFolder() {<a name="line.48"></a>
<span class="sourceLineNo">049</span> *         return folder;<a name="line.49"></a>
<span class="sourceLineNo">050</span> *     }<a name="line.50"></a>
<span class="sourceLineNo">051</span> *<a name="line.51"></a>
<span class="sourceLineNo">052</span> *     &amp;#064;Test<a name="line.52"></a>
<span class="sourceLineNo">053</span> *     public void testUsingTempFolder() throws IOException {<a name="line.53"></a>
<span class="sourceLineNo">054</span> *         File createdFile= folder.newFile(&amp;quot;myfile.txt&amp;quot;);<a name="line.54"></a>
<span class="sourceLineNo">055</span> *         File createdFolder= folder.newFolder(&amp;quot;subfolder&amp;quot;);<a name="line.55"></a>
<span class="sourceLineNo">056</span> *         // ...<a name="line.56"></a>
<span class="sourceLineNo">057</span> *     }<a name="line.57"></a>
<span class="sourceLineNo">058</span> * }<a name="line.58"></a>
<span class="sourceLineNo">059</span> * &lt;/pre&gt;<a name="line.59"></a>
<span class="sourceLineNo">060</span> * &lt;p&gt;<a name="line.60"></a>
<span class="sourceLineNo">061</span> * For more information and more examples, see<a name="line.61"></a>
<span class="sourceLineNo">062</span> * {@link org.junit.rules.TestRule}.<a name="line.62"></a>
<span class="sourceLineNo">063</span> *<a name="line.63"></a>
<span class="sourceLineNo">064</span> * @since 4.7<a name="line.64"></a>
<span class="sourceLineNo">065</span> */<a name="line.65"></a>
<span class="sourceLineNo">066</span>@Retention(RetentionPolicy.RUNTIME)<a name="line.66"></a>
<span class="sourceLineNo">067</span>@Target({ElementType.FIELD, ElementType.METHOD})<a name="line.67"></a>
<span class="sourceLineNo">068</span>public @interface Rule {<a name="line.68"></a>
<span class="sourceLineNo">069</span><a name="line.69"></a>
<span class="sourceLineNo">070</span>}<a name="line.70"></a>




























































</pre>
</div>
</body>
</html>