Added tag 3.21.4, debian/3.21.4-1, centos/3.21.4-1 for changeset d3b92d3a7db0
# copyright 2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved.# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr## This file is part of CubicWeb.## CubicWeb is free software: you can redistribute it and/or modify it under the# terms of the GNU Lesser General Public License as published by the Free# Software Foundation, either version 2.1 of the License, or (at your option)# any later version.## CubicWeb is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more# details.## You should have received a copy of the GNU Lesser General Public License along# with CubicWeb. If not, see <http://www.gnu.org/licenses/>.fromlogilab.commonimporttempattr,attrdictfromcubicweb.devtools.testlibimportCubicWebTCfromcubicweb.web.views.autoformimportInlinedFormFieldclassInlinedFormTC(CubicWebTC):deftest_linked_to(self):withself.admin_access.web_request()asreq:formview=req.vreg['views'].select('inline-creation',req,etype='File',rtype='described_by_test',role='subject',peid=123,petype='Salesterm')self.assertEqual({('described_by_test','object'):[123]},formview.form.linked_to)deftest_linked_to_parent_being_created(self):withself.admin_access.web_request()asreq:formview=req.vreg['views'].select('inline-creation',req,etype='File',rtype='described_by_test',role='subject',peid='A',petype='Salesterm')self.assertEqual(formview.form.linked_to,{})deftest_remove_js_depending_on_cardinality(self):withself.admin_access.web_request()asreq:formview=req.vreg['views'].select('inline-creation',req,etype='File',rtype='described_by_test',role='subject',peid='A',petype='Salesterm')# cardinality is 1, can't removeself.assertIsNone(formview._get_removejs())rdef=self.schema['Salesterm'].rdef('described_by_test')withtempattr(rdef,'cardinality','?*'):self.assertTrue(formview._get_removejs())withtempattr(rdef,'cardinality','+*'):# formview has no parent info (pform). This is what happens# when an inline form is requested through AJAX.self.assertTrue(formview._get_removejs())fakeview=attrdict(dict(rtype='described_by_test',role='subject'))# formview is first, can't be removedformview.pform=attrdict(fields=[InlinedFormField(view=formview),InlinedFormField(view=fakeview)])self.assertIsNone(formview._get_removejs())# formview isn't first, can be removedformview.pform=attrdict(fields=[InlinedFormField(view=fakeview),InlinedFormField(view=formview)])self.assertTrue(formview._get_removejs())if__name__=='__main__':fromlogilab.common.testlibimportunittest_mainunittest_main()