@@ -31,7 +31,9 @@ class GrailsUrlMappingsTestCaseTests extends GrailsUnitTestCase {
3131 super . setUp()
3232
3333 mockApplication = new DefaultGrailsApplication (
34- [ GrailsUrlMappingsTestCaseFakeController , MoneyController , GRAILS_3571_UrlMappings , TestInternalUrlMappings , OverrideUrlMappings ] as Class [],
34+ [ GrailsUrlMappingsTestCaseFakeController , MoneyController , GRAILS_3571_UrlMappings , TestInternalUrlMappings , OverrideUrlMappings ,
35+ GrailsUrlMappingTestCaseTestsBaseController , GrailsUrlMappingTestCaseTestsSubclassController
36+ ] as Class [],
3537 new GroovyClassLoader (this . getClass(). classLoader))
3638 mockApplication. initialise()
3739 mockApplication. config. disableMultipart = true
@@ -258,6 +260,13 @@ class GrailsUrlMappingsTestCaseTests extends GrailsUnitTestCase {
258260 }
259261 }
260262
263+ void testGrails5786 () {
264+ def test = new Grails5786TestCase ()
265+ test. grailsApplication = mockApplication
266+ test. setUp()
267+ test. testSuperClassMapping()
268+ }
269+
261270 private void checkFailures (TestResult result ) {
262271 result. errors(). each { TestFailure failure ->
263272 println " >> Error: ${ failure.toString()} "
@@ -273,6 +282,12 @@ class GrailsUrlMappingsTestCaseTests extends GrailsUnitTestCase {
273282 }
274283}
275284
285+ class Grails5786TestCase extends GrailsUrlMappingsTestCase {
286+ void testSuperClassMapping () {
287+ assertUrlMapping(' /grailsUrlMappingTestCaseTestsSubclass/base' , controller : ' grailsUrlMappingTestCaseTestsSubclass' , action :' base' )
288+ }
289+ }
290+
276291class GRAILS_3571_UrlMappings {
277292 static mappings = {
278293 " /$controller /$action ?/$id ?" {
@@ -444,3 +459,9 @@ class MockUrlMapping implements UrlMapping {
444459 }
445460
446461}
462+
463+ abstract class GrailsUrlMappingTestCaseTestsBaseController {
464+ def base = {}
465+ }
466+
467+ class GrailsUrlMappingTestCaseTestsSubclassController extends GrailsUrlMappingTestCaseTestsBaseController {}
0 commit comments