Edgewall Software

Ticket #4247: t4247.diff

File t4247.diff, 2.9 KB (added by Tim Hatch <trac@…>, 5 years ago)

Patch against trunk#4335 including unit test for this issue

  • trac/ticket/model.py

     
    544544                       "ORDER BY name") 
    545545        for name, owner, description in cursor: 
    546546            component = cls(env) 
    547             component.name = name 
     547            component.name = component._old_name = name 
    548548            component.owner = owner or None 
    549549            component.description = description or '' 
    550550            yield component 
     
    770770        versions = [] 
    771771        for name, time, description in cursor: 
    772772            version = cls(env) 
    773             version.name = name 
     773            version.name = version._old_name = name 
    774774            version.time = time and datetime.fromtimestamp(int(time), utc) or None 
    775775            version.description = description or '' 
    776776            versions.append(version) 
  • trac/ticket/tests/model.py

     
    11from trac import core 
    22from trac.core import TracError, implements 
    3 from trac.ticket.model import Ticket, Component, Milestone, Priority, Type 
     3from trac.ticket.model import Ticket, Component, Milestone, Priority, Type, Version 
    44from trac.ticket.api import ITicketChangeListener 
    55from trac.test import EnvironmentStub 
    66from trac.util.datefmt import utc, to_timestamp 
     
    465465        assert milestones[1].exists 
    466466 
    467467 
     468class ComponentTestCase(unittest.TestCase): 
     469    def setUp(self): 
     470        self.env = EnvironmentStub(default_data=True) 
     471 
     472    def test_exists_negative(self): 
     473        def get_fake_component(): 
     474            return Component(self.env, "Shrubbery") 
     475        self.assertRaises(TracError, get_fake_component) 
     476 
     477    def test_exists(self): 
     478        """ 
     479        http://trac.edgewall.org/ticket/4247 
     480        """ 
     481        for c in Component(self.env).select(self.env): 
     482            self.assertEqual(c.exists, True) 
     483 
     484 
     485class VersionTestCase(unittest.TestCase): 
     486 
     487    def setUp(self): 
     488        self.env = EnvironmentStub(default_data=True) 
     489 
     490    def test_exists_negative(self): 
     491        def get_fake_version(): 
     492            return Version(self.env, "-1") 
     493        self.assertRaises(TracError, get_fake_version) 
     494 
     495    def test_exists(self): 
     496        """ 
     497        http://trac.edgewall.org/ticket/4247 
     498        """ 
     499        for v in Version(self.env).select(self.env): 
     500            self.assertEqual(v.exists, True) 
     501 
    468502def suite(): 
    469503    suite = unittest.TestSuite() 
    470504    suite.addTest(unittest.makeSuite(TicketTestCase, 'test')) 
    471505    suite.addTest(unittest.makeSuite(EnumTestCase, 'test')) 
    472506    suite.addTest(unittest.makeSuite(MilestoneTestCase, 'test')) 
     507    suite.addTest(unittest.makeSuite(ComponentTestCase, 'test')) 
     508    suite.addTest(unittest.makeSuite(VersionTestCase, 'test')) 
    473509    return suite 
    474510 
    475511if __name__ == '__main__':