@@ -17,15 +17,15 @@ package org.codehaus.groovy.grails.web.taglib
1717
1818import grails.util.GrailsUtil
1919
20+ import org.codehaus.groovy.grails.commons.UrlMappingsArtefactHandler
2021import org.codehaus.groovy.grails.support.MockStringResourceLoader
21- import org.codehaus.groovy.grails.web.pages.FastStringWriter ;
22+ import org.codehaus.groovy.grails.web.pages.FastStringWriter
2223import org.codehaus.groovy.grails.web.pages.GroovyPageBinding
2324import org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes
2425import org.codehaus.groovy.grails.web.sitemesh.FactoryHolder
25- import org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPage ;
26+ import org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPage
2627import org.codehaus.groovy.grails.web.sitemesh.GrailsLayoutDecoratorMapper
2728import org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException
28- import org.codehaus.groovy.grails.web.util.StreamCharBuffer ;
2929import org.springframework.web.servlet.support.RequestContextUtils as RCU
3030
3131import com.opensymphony.module.sitemesh.RequestConstants
@@ -39,7 +39,6 @@ import com.opensymphony.module.sitemesh.parser.TokenizedHTMLPage
3939 * @author Marcel Overdijk
4040 */
4141class RenderTagLibTests extends AbstractGrailsTagTests {
42-
4342 // test for GRAILS-5376
4443 void testPaginateTag () {
4544 def template = ' <g:paginate controller="book" total="" offset="" />'
@@ -98,6 +97,28 @@ class RenderTagLibTests extends AbstractGrailsTagTests {
9897 template = ' <g:paginate max="2" total="20" offset="14" maxsteps="3" controller="book" action="list" />'
9998 assertOutputContains ' <a href="/book/list?offset=16&max=2" class="step">9</a><a href="/book/list?offset=18&max=2" class="step">10</a>' , template
10099 }
100+
101+ protected void onInit () {
102+ if (name == ' testPaginateMappingAndAction' ) {
103+ def mappingClass = gcl. parseClass('''
104+ class TestUrlMappings {
105+ static mappings = {
106+ name claimTab: "/claim/$id/$action" {
107+ controller = 'Claim'
108+ constraints { id(matches: /\\ d+/) }
109+ }
110+ }
111+ }
112+ ''' )
113+
114+ grailsApplication. addArtefact(UrlMappingsArtefactHandler . TYPE , mappingClass)
115+ }
116+ }
117+
118+ void testPaginateMappingAndAction () {
119+ def template = ' <g:paginate next="Forward" prev="Back" maxsteps="8" max="10" id="1" mapping="claimTab" total="12" action="documents"/>'
120+ assertOutputEquals ' <span class="currentStep">1</span><a href="/claim/1/documents?offset=10&max=10" class="step">2</a><a href="/claim/1/documents?offset=10&max=10" class="nextLink">Forward</a>' , template
121+ }
101122
102123 void testPageProperty () {
103124
0 commit comments