亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? model.py

?? trac是一款svn服務器的web客戶端
?? PY
?? 第 1 頁 / 共 2 頁
字號:
from trac import corefrom trac.core import TracError, implementsfrom trac.ticket.model import Ticket, Component, Milestone, Priority, Type, Versionfrom trac.ticket.api import ITicketChangeListenerfrom trac.test import EnvironmentStubfrom trac.util.datefmt import utc, to_timestampfrom datetime import datetimeimport unittestclass TestTicketChangeListener(core.Component):    implements(ITicketChangeListener)    def ticket_created(self, ticket):        self.action = 'created'        self.ticket = ticket    def ticket_changed(self, ticket, comment, author, old_values):        self.action = 'changed'        self.ticket = ticket        self.comment = comment        self.author = author        self.old_values = old_values            def ticket_deleted(self, ticket):        self.action = 'deleted'        self.ticket = ticketclass TicketTestCase(unittest.TestCase):    def setUp(self):        self.env = EnvironmentStub(default_data=True)        self.env.config.set('ticket-custom', 'foo', 'text')        self.env.config.set('ticket-custom', 'cbon', 'checkbox')        self.env.config.set('ticket-custom', 'cboff', 'checkbox')    def _insert_ticket(self, summary, **kw):        """Helper for inserting a ticket into the database"""        ticket = Ticket(self.env)        for k,v in kw.items():            ticket[k] = v        return ticket.insert()    def _create_a_ticket(self):        # 1. Creating ticket        ticket = Ticket(self.env)        ticket['reporter'] = 'santa'        ticket['summary'] = 'Foo'        ticket['foo'] = 'This is a custom field'        return ticket    def test_create_ticket_1(self):        ticket = self._create_a_ticket()        self.assertEqual('santa', ticket['reporter'])        self.assertEqual('Foo', ticket['summary'])        self.assertEqual('This is a custom field', ticket['foo'])        ticket.insert()    def test_create_ticket_2(self):        ticket = self._create_a_ticket()        ticket.insert()        # Retrieving ticket        ticket2 = Ticket(self.env, 1)        self.assertEqual(1, ticket2.id)        self.assertEqual('santa', ticket2['reporter'])        self.assertEqual('Foo', ticket2['summary'])        self.assertEqual('This is a custom field', ticket2['foo'])    def _modify_a_ticket(self):        ticket2 = self._create_a_ticket()        ticket2.insert()        ticket2['summary'] = 'Bar'        ticket2['foo'] = 'New value'        ticket2.save_changes('santa', 'this is my comment')        return ticket2    def test_create_ticket_3(self):        self._modify_a_ticket()        # Retrieving ticket        ticket3 = Ticket(self.env, 1)        self.assertEqual(1, ticket3.id)        self.assertEqual(ticket3['reporter'], 'santa')        self.assertEqual(ticket3['summary'], 'Bar')        self.assertEqual(ticket3['foo'], 'New value')    def test_create_ticket_4(self):        ticket3 = self._modify_a_ticket()        # Testing get_changelog()        log = ticket3.get_changelog()        self.assertEqual(len(log), 3)        ok_vals = ['foo', 'summary', 'comment']        self.failUnless(log[0][2] in ok_vals)        self.failUnless(log[1][2] in ok_vals)        self.failUnless(log[2][2] in ok_vals)    def test_create_ticket_5(self):        ticket3 = self._modify_a_ticket()        # Testing delete()        ticket3.delete()        log = ticket3.get_changelog()        self.assertEqual(len(log), 0)        self.assertRaises(TracError, Ticket, self.env, 1)    def test_ticket_default_values(self):        """        Verify that a ticket uses default values specified in the configuration        when created.        """        # Set defaults for some standard fields        self.env.config.set('ticket', 'default_type', 'defect')        self.env.config.set('ticket', 'default_component', 'component1')        # Add a custom field of type 'text' with a default value        self.env.config.set('ticket-custom', 'foo', 'text')        self.env.config.set('ticket-custom', 'foo.value', 'Something')        # Add a custom field of type 'select' with a default value specified as        # the value itself        self.env.config.set('ticket-custom', 'bar', 'select')        self.env.config.set('ticket-custom', 'bar.options', 'one|two|three')        self.env.config.set('ticket-custom', 'bar.value', 'two')        # Add a custom field of type 'select' with a default value specified as        # index into the options list        self.env.config.set('ticket-custom', 'baz', 'select')        self.env.config.set('ticket-custom', 'baz.options', 'one|two|three')        self.env.config.set('ticket-custom', 'baz.value', '2')        ticket = Ticket(self.env)        self.assertEqual('defect', ticket['type'])        self.assertEqual('component1', ticket['component'])        self.assertEqual('Something', ticket['foo'])        self.assertEqual('two', ticket['bar'])        self.assertEqual('three', ticket['baz'])    def test_set_field_stripped(self):        """        Verify that whitespace around ticket fields is stripped, except for        textarea fields.        """        ticket = Ticket(self.env)        ticket['component'] = '  foo  '        ticket['description'] = '  bar  '        self.assertEqual('foo', ticket['component'])        self.assertEqual('  bar  ', ticket['description'])    def test_owner_from_component(self):        """        Verify that the owner of a new ticket is set to the owner of the        component.        """        component = Component(self.env)        component.name = 'test'        component.owner = 'joe'        component.insert()        ticket = Ticket(self.env)        ticket['reporter'] = 'santa'        ticket['summary'] = 'Foo'        ticket['component'] = 'test'        ticket.insert()        self.assertEqual('joe', ticket['owner'])    def test_owner_from_changed_component(self):        """        Verify that the owner of a new ticket is updated when the component is        changed.        """        component1 = Component(self.env)        component1.name = 'test1'        component1.owner = 'joe'        component1.insert()        component2 = Component(self.env)        component2.name = 'test2'        component2.owner = 'kate'        component2.insert()        ticket = Ticket(self.env)        ticket['reporter'] = 'santa'        ticket['summary'] = 'Foo'        ticket['component'] = 'test1'        ticket['status'] = 'new'        tktid = ticket.insert()        ticket = Ticket(self.env, tktid)        ticket['component'] = 'test2'        ticket.save_changes('jane', 'Testing')        self.assertEqual('kate', ticket['owner'])    def test_populate_ticket(self):        data = {'summary': 'Hello world', 'reporter': 'john', 'foo': 'bar',                'foo': 'bar', 'checkbox_cbon': '', 'cbon': 'on',                'checkbox_cboff': ''}        ticket = Ticket(self.env)        ticket.populate(data)        # Standard fields        self.assertEqual('Hello world', ticket['summary'])        self.assertEqual('john', ticket['reporter'])        # An unknown field        assert ticket['bar'] is None        # Custom field        self.assertEqual('bar', ticket['foo'])        # Custom field of type 'checkbox'        self.assertEqual('on', ticket['cbon'])        self.assertEqual('0', ticket['cboff'])    def test_changelog(self):        tkt_id = self._insert_ticket('Test', reporter='joe', component='foo',                                     milestone='bar')        ticket = Ticket(self.env, tkt_id)        ticket['component'] = 'bar'        ticket['milestone'] = 'foo'        now = datetime(2001, 1, 1, 1, 1, 1, 0, utc)        ticket.save_changes('jane', 'Testing', now)        for t, author, field, old, new, permanent in ticket.get_changelog():            self.assertEqual((now, 'jane', True), (t, author, permanent))            if field == 'component':                self.assertEqual(('foo', 'bar'), (old, new))            elif field == 'milestone':                self.assertEqual(('bar', 'foo'), (old, new))            elif field == 'comment':                self.assertEqual(('', 'Testing'), (old, new))            else:                self.fail('Unexpected change (%s)'                          % ((t, author, field, old, new),))    def test_changelog_with_reverted_change(self):        tkt_id = self._insert_ticket('Test', reporter='joe', component='foo')        ticket = Ticket(self.env, tkt_id)        ticket['component'] = 'bar'        ticket['component'] = 'foo'        now = datetime(2001, 1, 1,  1, 1, 1, 0, utc)        ticket.save_changes('jane', 'Testing', now)        for t, author, field, old, new, permanent in ticket.get_changelog():            self.assertEqual((now, 'jane', True), (t, author, permanent))            if field == 'comment':                self.assertEqual(('', 'Testing'), (old, new))            else:                self.fail('Unexpected change (%s)'                          % ((t, author, field, old, new),))    def test_change_listener_created(self):        listener = TestTicketChangeListener(self.env)        ticket = self._create_a_ticket()        ticket.insert()        self.assertEqual('created', listener.action)        self.assertEqual(ticket, listener.ticket)    def test_change_listener_changed(self):        listener = TestTicketChangeListener(self.env)        data = {'component': 'foo', 'milestone': 'bar'}        tkt_id = self._insert_ticket('Hello World', reporter='john', **data)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品系列| 亚洲精品欧美激情| 91精品福利在线一区二区三区| 91蜜桃在线观看| 色综合久久中文字幕综合网| 91在线观看美女| 99久久精品情趣| 97精品视频在线观看自产线路二| 不卡的av中国片| 一本到高清视频免费精品| 91蜜桃传媒精品久久久一区二区| 色综合视频一区二区三区高清| 91亚洲国产成人精品一区二三 | 看国产成人h片视频| 奇米一区二区三区| 麻豆精品视频在线观看视频| 国产一区日韩二区欧美三区| 国产高清精品在线| 99视频热这里只有精品免费| 色婷婷综合久久久中文一区二区| 欧美影片第一页| 欧美肥妇free| 精品成人一区二区| 亚洲国产精品99久久久久久久久| 国产精品日产欧美久久久久| 亚洲天堂免费看| 天天操天天综合网| 久久精品99国产精品日本| 粉嫩绯色av一区二区在线观看| 99精品视频在线观看| 欧美日韩你懂得| 日韩欧美一级特黄在线播放| 亚洲一区免费在线观看| 一二三区精品视频| 麻豆精品一区二区综合av| 岛国一区二区在线观看| 色婷婷av一区二区| 欧美一卡二卡三卡| 国产精品久久午夜夜伦鲁鲁| 亚洲综合一区二区三区| 蜜桃视频在线一区| 99久久婷婷国产综合精品电影 | 欧美日韩一区二区三区四区五区 | 亚洲人被黑人高潮完整版| 一区二区三区国产精品| 日韩电影免费在线看| 国产毛片精品视频| 欧美在线观看一区二区| 欧美成人一区二区三区在线观看 | 午夜精品视频一区| 成人一级视频在线观看| 欧美三区在线观看| 久久久.com| 午夜精品久久久久影视| 国产精品白丝av| 欧美日韩高清影院| 国产精品国产三级国产a| 人妖欧美一区二区| 99国产精品久久久久久久久久久| 欧美一区二区不卡视频| 亚洲婷婷在线视频| 国产美女在线精品| 91精品免费在线| 亚洲日本电影在线| 国产伦精品一区二区三区免费| 欧美性一级生活| 中文字幕免费观看一区| 日本一区中文字幕| 欧美在线影院一区二区| 欧美韩国日本综合| 久久99热这里只有精品| 欧美日韩激情一区| 亚洲蜜桃精久久久久久久| 国产自产高清不卡| 欧美一级午夜免费电影| 亚洲最大的成人av| 不卡av在线免费观看| 久久婷婷色综合| 日产国产欧美视频一区精品| 欧美特级限制片免费在线观看| 国产精品欧美综合在线| 麻豆精品在线观看| 在线播放中文一区| 亚洲一区二区精品视频| 色网站国产精品| 综合色中文字幕| 福利一区二区在线| 久久精品综合网| 国产麻豆视频精品| 欧美成人一区二区三区在线观看 | 欧美日韩三级一区| 亚洲欧美成aⅴ人在线观看 | 久久精品欧美一区二区三区不卡 | 制服丝袜亚洲播放| 一区二区免费看| 色婷婷久久久久swag精品| 中文一区在线播放| 国产成人精品免费视频网站| 国产亚洲精品久| 国产成人综合网| 国产亚洲一区字幕| 国产成人精品影视| 久久综合狠狠综合久久激情| 韩国欧美国产1区| 久久色中文字幕| 国产精品一区二区三区99| 26uuu另类欧美亚洲曰本| 国内精品伊人久久久久av影院 | 一区二区三区不卡在线观看| 一本一道波多野结衣一区二区| 综合激情网...| 在线精品视频小说1| 亚洲午夜精品网| 91精品麻豆日日躁夜夜躁| 美女性感视频久久| 久久综合中文字幕| 国产成人免费视频网站高清观看视频 | 精品亚洲porn| 国产午夜精品久久| 99精品黄色片免费大全| 亚洲美腿欧美偷拍| 欧美日韩一级大片网址| 三级影片在线观看欧美日韩一区二区| 日韩午夜激情av| 国产99久久久精品| 亚洲三级电影全部在线观看高清| 欧美综合一区二区| 日韩主播视频在线| 久久久综合九色合综国产精品| 成人中文字幕在线| 一区二区三区四区不卡在线| 91精品免费在线| 国产**成人网毛片九色| 亚洲欧美国产三级| 欧美一区二区在线不卡| 国产精品一区二区免费不卡| 亚洲欧美日韩国产一区二区三区| 欧美色图在线观看| 麻豆成人在线观看| 国产精品视频在线看| 国产亚洲成av人在线观看导航| 成人毛片在线观看| 午夜影院久久久| 国产午夜精品一区二区三区嫩草| 一本色道综合亚洲| 日韩精品乱码av一区二区| 久久久久久影视| 色哟哟国产精品| 久久国产免费看| 亚洲精品成人少妇| 欧美成人午夜电影| 91亚洲精品久久久蜜桃| 美女免费视频一区二区| 18成人在线观看| 日韩欧美视频一区| 色综合天天综合在线视频| 蜜臀av一区二区在线免费观看| 中文字幕成人av| 9191久久久久久久久久久| 成人午夜av在线| 日韩精品久久理论片| 中日韩av电影| 日韩三级中文字幕| 色av一区二区| 精品一区二区在线看| 亚洲激情综合网| 国产色一区二区| 91精品久久久久久久99蜜桃| 97国产精品videossex| 极品少妇xxxx精品少妇偷拍| 亚洲在线中文字幕| 中文字幕在线观看一区二区| 日韩视频在线观看一区二区| 色8久久精品久久久久久蜜| 国产一区二区三区国产| 亚洲v中文字幕| 亚洲精品视频在线观看免费| 国产亚洲成aⅴ人片在线观看 | 亚洲综合在线观看视频| 国产欧美一区二区三区鸳鸯浴 | av福利精品导航| 国产一区欧美二区| 另类小说视频一区二区| 亚洲最大成人网4388xx| 中文字幕日本不卡| 久久精品人人做| 亚洲精品一区二区三区99| 欧美精品精品一区| 精品视频一区 二区 三区| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美调教femdomvk| 一本久久综合亚洲鲁鲁五月天| 成人理论电影网| 国产一区中文字幕| 黄色资源网久久资源365| 美女脱光内衣内裤视频久久网站| 天天色天天爱天天射综合| 亚洲成av人片一区二区三区| 亚洲一线二线三线久久久| 亚洲欧美日韩电影|