13 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more |
13 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more |
14 # details. |
14 # details. |
15 # |
15 # |
16 # You should have received a copy of the GNU Lesser General Public License along |
16 # You should have received a copy of the GNU Lesser General Public License along |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
|
18 |
|
19 from six import text_type |
18 |
20 |
19 from logilab.common import tempattr |
21 from logilab.common import tempattr |
20 |
22 |
21 from cubicweb.devtools.testlib import CubicWebTC |
23 from cubicweb.devtools.testlib import CubicWebTC |
22 from cubicweb.devtools.fake import FakeRequest |
24 from cubicweb.devtools.fake import FakeRequest |
135 rules = [ |
137 rules = [ |
136 (rgx('/(?P<sn>\w+)/(?P<fn>\w+)'), |
138 (rgx('/(?P<sn>\w+)/(?P<fn>\w+)'), |
137 rgx_action(r'Any X WHERE X surname %(sn)s, ' |
139 rgx_action(r'Any X WHERE X surname %(sn)s, ' |
138 'X firstname %(fn)s', |
140 'X firstname %(fn)s', |
139 argsgroups=('sn', 'fn'), |
141 argsgroups=('sn', 'fn'), |
140 transforms={'sn' : unicode.capitalize, |
142 transforms={'sn' : text_type.capitalize, |
141 'fn' : unicode.lower,})), |
143 'fn' : text_type.lower,})), |
142 ] |
144 ] |
143 with self.admin_access.web_request() as req: |
145 with self.admin_access.web_request() as req: |
144 rewriter = TestSchemaBasedRewriter(req) |
146 rewriter = TestSchemaBasedRewriter(req) |
145 _pmid, rset = rewriter.rewrite(req, u'/DaLToN/JoE') |
147 _pmid, rset = rewriter.rewrite(req, u'/DaLToN/JoE') |
146 self.assertEqual(len(rset), 1) |
148 self.assertEqual(len(rset), 1) |