# HG changeset patch # User sylvain.thenault@logilab.fr # Date 1241436647 -7200 # Node ID 59c5cec05bbde621f07840dc9de62412ad0bfb9d # Parent 12a98b17fb05c187a69cf15c9aa69e743acc7847 move card role to cubes.card diff -r 12a98b17fb05 -r 59c5cec05bbd common/test/unittest_rest.py --- a/common/test/unittest_rest.py Mon May 04 13:18:38 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -from logilab.common.testlib import unittest_main -from cubicweb.devtools.apptest import EnvBasedTC - -from cubicweb.common.rest import rest_publish - -class RestTC(EnvBasedTC): - def context(self): - return self.execute('CWUser X WHERE X login "admin"').get_entity(0, 0) - - def test_eid_role(self): - context = self.context() - self.assertEquals(rest_publish(context, ':eid:`%s`' % context.eid), - '

#%s

\n' % context.eid) - self.assertEquals(rest_publish(context, ':eid:`%s:some text`' % context.eid), - '

some text

\n') - - def test_card_role_create(self): - self.assertEquals(rest_publish(self.context(), ':card:`index`'), - '

index

\n') - - def test_card_role_link(self): - self.add_entity('Card', wikiid=u'index', title=u'Site index page', synopsis=u'yo') - self.assertEquals(rest_publish(self.context(), ':card:`index`'), - '

index

\n') - - def test_bad_rest_no_crash(self): - data = rest_publish(self.context(), ''' -| card | implication | --------------------------- -| 1-1 | N1 = N2 | -| 1-? | N1 <= N2 | -| 1-+ | N1 >= N2 | -| 1-* | N1>0 => N2>0 | --------------------------- -| ?-? | N1 # N2 | -| ?-+ | N1 >= N2 | -| ?-* | N1 # N2 | --------------------------- -| +-+ | N1>0 => N2>0 et | -| | N2>0 => N1>0 | -| +-* | N1>+ => N2>0 | --------------------------- -| *-* | N1#N2 | --------------------------- - -''') - -if __name__ == '__main__': - unittest_main() diff -r 12a98b17fb05 -r 59c5cec05bbd ext/rest.py --- a/ext/rest.py Mon May 04 13:18:38 2009 +0200 +++ b/ext/rest.py Mon May 04 13:30:47 2009 +0200 @@ -76,31 +76,6 @@ register_canonical_role('eid', eid_reference_role) -def card_reference_role(role, rawtext, text, lineno, inliner, - options={}, content=[]): - text = text.strip() - try: - wikiid, rest = text.split(u':', 1) - except: - wikiid, rest = text, text - context = inliner.document.settings.context - cardrset = context.req.execute('Card X WHERE X wikiid %(id)s', - {'id': wikiid}) - if cardrset: - ref = cardrset.get_entity(0, 0).absolute_url() - else: - schema = context.schema - if schema.eschema('Card').has_perm(context.req, 'add'): - ref = context.req.build_url('view', vid='creation', etype='Card', wikiid=wikiid) - else: - ref = '#' - set_classes(options) - return [nodes.reference(rawtext, utils.unescape(rest), refuri=ref, - **options)], [] - -register_canonical_role('card', card_reference_role) - - def winclude_directive(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine): """Include a reST file as part of the content of this reST file. diff -r 12a98b17fb05 -r 59c5cec05bbd ext/test/unittest_rest.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ext/test/unittest_rest.py Mon May 04 13:30:47 2009 +0200 @@ -0,0 +1,40 @@ +from logilab.common.testlib import unittest_main +from cubicweb.devtools.apptest import EnvBasedTC + +from cubicweb.ext.rest import rest_publish + +class RestTC(EnvBasedTC): + def context(self): + return self.execute('CWUser X WHERE X login "admin"').get_entity(0, 0) + + def test_eid_role(self): + context = self.context() + self.assertEquals(rest_publish(context, ':eid:`%s`' % context.eid), + '

#%s

\n' % context.eid) + self.assertEquals(rest_publish(context, ':eid:`%s:some text`' % context.eid), + '

some text

\n') + + def test_bad_rest_no_crash(self): + data = rest_publish(self.context(), ''' +| card | implication | +-------------------------- +| 1-1 | N1 = N2 | +| 1-? | N1 <= N2 | +| 1-+ | N1 >= N2 | +| 1-* | N1>0 => N2>0 | +-------------------------- +| ?-? | N1 # N2 | +| ?-+ | N1 >= N2 | +| ?-* | N1 # N2 | +-------------------------- +| +-+ | N1>0 => N2>0 et | +| | N2>0 => N1>0 | +| +-* | N1>+ => N2>0 | +-------------------------- +| *-* | N1#N2 | +-------------------------- + +''') + +if __name__ == '__main__': + unittest_main()