@@ -57,7 +57,6 @@ public static void test(String user, String password) {
57
57
if (adminCookie .getValue () == "false" )
58
58
login (user , password );
59
59
else {
60
- // do something else
61
60
login (user , password );
62
61
}
63
62
}
@@ -69,17 +68,19 @@ public static void test2(String user, String password) {
69
68
login (user , password );
70
69
else {
71
70
// do something else
71
+ doIt ();
72
72
}
73
73
login (user , password );
74
74
}
75
75
76
76
public static void test3 (String user , String password ) {
77
77
Cookie adminCookie = getCookies ()[0 ];
78
+ // BAD: login may not happen
78
79
if (adminCookie .getValue () == "false" ) // $ hasConditionalBypassTest
79
80
login (user , password );
80
81
else {
81
82
// do something else
82
- // BAD: login may not happen
83
+ doIt ();
83
84
}
84
85
return ;
85
86
}
@@ -97,6 +98,37 @@ public static void test4(String user, String password) {
97
98
return ;
98
99
}
99
100
101
+ public static void test5 (String user , String password ) throws Exception {
102
+ Cookie adminCookie = getCookies ()[0 ];
103
+ // GOOD: exit with Exception if condition is not met
104
+ if (adminCookie .getValue () == "false" ) {
105
+ throw new Exception ();
106
+ }
107
+
108
+ login (user , password );
109
+ }
110
+
111
+ public static void test6 (String user , String password ) {
112
+ Cookie adminCookie = getCookies ()[0 ];
113
+ // GOOD: exit with return if condition is not met
114
+ if (adminCookie .getValue () == "false" ) {
115
+ return ;
116
+ }
117
+
118
+ login (user , password );
119
+ }
120
+
121
+ public static void test7 (String user , String password ) {
122
+ Cookie adminCookie = getCookies ()[0 ];
123
+ // FALSE NEGATIVE: login is bypasseable
124
+ if (adminCookie .getValue () == "false" ) { // $ MISSING: $ hasConditionalBypassTest
125
+ login (user , password );
126
+ return ;
127
+ } else {
128
+ doIt ();
129
+ }
130
+ }
131
+
100
132
public static void login (String user , String password ) {
101
133
// login
102
134
}
0 commit comments