1515
1616from trac .core import TracError
1717from trac .test import EnvironmentStub , MockRequest , makeSuite
18- from trac .versioncontrol .web_ui .changeset import ChangesetModule
18+ from trac .versioncontrol .web_ui .changeset import AnyDiffModule , ChangesetModule
19+ from trac .web .api import RequestDone
1920
2021
2122class ChangesetModuleTestCase (unittest .TestCase ):
@@ -30,9 +31,35 @@ def test_default_repository_not_configured(self):
3031 self .assertRaises (TracError , self .cm .process_request , req )
3132
3233
34+ class AnyDiffModuleTestCase (unittest .TestCase ):
35+
36+ def setUp (self ):
37+ self .env = EnvironmentStub ()
38+ self .mod = AnyDiffModule (self .env )
39+
40+ def test_normal (self ):
41+ req = MockRequest (self .env , path_info = '/diff' , args = {'term' : '/' })
42+ req .environ ['HTTP_X_REQUESTED_WITH' ] = 'XMLHttpRequest'
43+ self .assertTrue (self .mod .match_request (req ))
44+ self .assertRaises (RequestDone , self .mod .process_request , req )
45+ self .assertEqual (b'[]' , req .response_sent .getvalue ())
46+ self .assertEqual ('application/json;charset=utf-8' ,
47+ req .headers_sent .get ('Content-Type' ))
48+
49+ def test_without_term (self ):
50+ req = MockRequest (self .env , path_info = '/diff' )
51+ req .environ ['HTTP_X_REQUESTED_WITH' ] = 'XMLHttpRequest'
52+ self .assertTrue (self .mod .match_request (req ))
53+ self .assertRaises (RequestDone , self .mod .process_request , req )
54+ self .assertEqual (b'[]' , req .response_sent .getvalue ())
55+ self .assertEqual ('application/json;charset=utf-8' ,
56+ req .headers_sent .get ('Content-Type' ))
57+
58+
3359def test_suite ():
3460 suite = unittest .TestSuite ()
3561 suite .addTest (makeSuite (ChangesetModuleTestCase ))
62+ suite .addTest (makeSuite (AnyDiffModuleTestCase ))
3663 return suite
3764
3865
0 commit comments