| 4 | diff --git a/trac/ticket/tests/web_ui.py b/trac/ticket/tests/web_ui.py |
| 5 | index ace7a545f..5c98ff435 100644 |
| 6 | --- a/trac/ticket/tests/web_ui.py |
| 7 | +++ b/trac/ticket/tests/web_ui.py |
| 8 | @@ -16,6 +16,7 @@ import unittest |
| 9 | from trac.core import TracError |
| 10 | from trac.resource import ResourceNotFound |
| 11 | from trac.test import EnvironmentStub, Mock, MockPerm, locale_en |
| 12 | +from trac.ticket.api import TicketSystem |
| 13 | from trac.ticket.model import Ticket |
| 14 | from trac.ticket.web_ui import TicketModule |
| 15 | from trac.util.datefmt import utc |
| 16 | @@ -110,6 +111,25 @@ class TicketModuleTestCase(unittest.TestCase): |
| 17 | self.assertRaises(ResourceNotFound, |
| 18 | self.ticket_module.process_request, req) |
| 19 | |
| 20 | + def test_newticket_with_milestone_as_custom_field(self): |
| 21 | + self.env.config.set('ticket-custom', 'milestone', 'text') |
| 22 | + self.env.db_transaction("DELETE FROM milestone") |
| 23 | + tktsys = TicketSystem(self.env) |
| 24 | + tktsys.reset_ticket_fields() |
| 25 | + del tktsys.custom_fields |
| 26 | + |
| 27 | + req = self._create_request(path_info='/newticket') |
| 28 | + self.assertEqual(True, self.ticket_module.match_request(req)) |
| 29 | + resp = self.ticket_module.process_request(req) |
| 30 | + for field in resp[1]['fields']: |
| 31 | + if field['name'] == 'milestone': |
| 32 | + self.assertTrue(field['custom']) |
| 33 | + self.assertFalse(field['options']) |
| 34 | + self.assertFalse(field.get('optgroups')) |
| 35 | + break |
| 36 | + else: |
| 37 | + self.fail('Missing milestone in fields') |
| 38 | + |
| 39 | |
| 40 | def suite(): |
| 41 | suite = unittest.TestSuite() |