@@ -233,4 +233,47 @@ public void testWhitespaceRoleHierarchies() {
233
233
roleHierarchyImpl .getReachableGrantedAuthorities (authorities1 ),
234
234
authorities3 )).isTrue ();
235
235
}
236
+
237
+ // gh-6954
238
+ @ Test
239
+ public void testJavadoc () {
240
+ List <GrantedAuthority > flatAuthorities = AuthorityUtils .createAuthorityList (
241
+ "ROLE_A" );
242
+ List <GrantedAuthority > allAuthorities = AuthorityUtils .createAuthorityList (
243
+ "ROLE_A" , "ROLE_B" , "ROLE_AUTHENTICATED" , "ROLE_UNAUTHENTICATED" );
244
+ RoleHierarchyImpl roleHierarchyImpl = new RoleHierarchyImpl ();
245
+ roleHierarchyImpl .setHierarchy ("ROLE_A > ROLE_B\n "
246
+ + "ROLE_B > ROLE_AUTHENTICATED\n "
247
+ + "ROLE_AUTHENTICATED > ROLE_UNAUTHENTICATED" );
248
+
249
+ assertThat (roleHierarchyImpl .getReachableGrantedAuthorities (flatAuthorities )).containsExactlyInAnyOrderElementsOf (allAuthorities );
250
+ }
251
+
252
+ // gh-6954
253
+ @ Test
254
+ public void testInterfaceJavadoc () {
255
+ List <GrantedAuthority > flatAuthorities = AuthorityUtils .createAuthorityList (
256
+ "ROLE_HIGHEST" );
257
+ List <GrantedAuthority > allAuthorities = AuthorityUtils .createAuthorityList (
258
+ "ROLE_HIGHEST" , "ROLE_HIGHER" , "ROLE_LOW" , "ROLE_LOWER" );
259
+ RoleHierarchyImpl roleHierarchyImpl = new RoleHierarchyImpl ();
260
+ roleHierarchyImpl .setHierarchy ("ROLE_HIGHEST > ROLE_HIGHER\n "
261
+ + "ROLE_HIGHER > ROLE_LOW\n "
262
+ + "ROLE_LOW > ROLE_LOWER" );
263
+
264
+ assertThat (roleHierarchyImpl .getReachableGrantedAuthorities (flatAuthorities )).containsExactlyInAnyOrderElementsOf (allAuthorities );
265
+ }
266
+
267
+ // gh-6954
268
+ @ Test
269
+ public void singleLineLargeHierarchy () {
270
+ List <GrantedAuthority > flatAuthorities = AuthorityUtils .createAuthorityList (
271
+ "ROLE_HIGHEST" );
272
+ List <GrantedAuthority > allAuthorities = AuthorityUtils .createAuthorityList (
273
+ "ROLE_HIGHEST" , "ROLE_HIGHER" , "ROLE_LOW" , "ROLE_LOWER" );
274
+ RoleHierarchyImpl roleHierarchyImpl = new RoleHierarchyImpl ();
275
+ roleHierarchyImpl .setHierarchy ("ROLE_HIGHEST > ROLE_HIGHER > ROLE_LOW > ROLE_LOWER" );
276
+
277
+ assertThat (roleHierarchyImpl .getReachableGrantedAuthorities (flatAuthorities )).containsExactlyInAnyOrderElementsOf (allAuthorities );
278
+ }
236
279
}
0 commit comments