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 |
|
20 |
18 |
21 from logilab.common import tempattr |
19 from logilab.common import tempattr |
22 |
20 |
23 from cubicweb.devtools.testlib import CubicWebTC |
21 from cubicweb.devtools.testlib import CubicWebTC |
24 from cubicweb.devtools.fake import FakeRequest |
22 from cubicweb.devtools.fake import FakeRequest |
137 rules = [ |
135 rules = [ |
138 (rgx('/(?P<sn>\w+)/(?P<fn>\w+)'), |
136 (rgx('/(?P<sn>\w+)/(?P<fn>\w+)'), |
139 rgx_action(r'Any X WHERE X surname %(sn)s, ' |
137 rgx_action(r'Any X WHERE X surname %(sn)s, ' |
140 'X firstname %(fn)s', |
138 'X firstname %(fn)s', |
141 argsgroups=('sn', 'fn'), |
139 argsgroups=('sn', 'fn'), |
142 transforms={'sn' : text_type.capitalize, |
140 transforms={'sn' : str.capitalize, |
143 'fn' : text_type.lower,})), |
141 'fn' : str.lower,})), |
144 ] |
142 ] |
145 with self.admin_access.web_request() as req: |
143 with self.admin_access.web_request() as req: |
146 rewriter = TestSchemaBasedRewriter(req) |
144 rewriter = TestSchemaBasedRewriter(req) |
147 _pmid, rset = rewriter.rewrite(req, u'/DaLToN/JoE') |
145 _pmid, rset = rewriter.rewrite(req, u'/DaLToN/JoE') |
148 self.assertEqual(len(rset), 1) |
146 self.assertEqual(len(rset), 1) |