1414import org .mockito .internal .util .reflection .Whitebox ;
1515import org .powermock .core .classloader .annotations .PrepareForTest ;
1616import org .powermock .modules .testng .PowerMockTestCase ;
17+ import org .testng .annotations .AfterMethod ;
1718import org .testng .annotations .BeforeMethod ;
1819import org .testng .annotations .Test ;
1920
2324import static org .mockito .Matchers .isA ;
2425import static org .mockito .Mockito .doReturn ;
2526import static org .mockito .Mockito .never ;
27+ import static org .mockito .Mockito .reset ;
2628import static org .mockito .Mockito .times ;
2729import static org .mockito .Mockito .verify ;
2830import static org .mockito .Mockito .when ;
@@ -145,7 +147,7 @@ public void should_return_proper_bundles_by_name_for_string_locale() throws Exce
145147 verify (requestMock ).addHeader ("Accept-Language" , "de" );
146148 verify (requestMock ).get ();
147149 verifyStatic (times (1 ));
148- JerseyRequest .buildRequest (eq (sessionStorageMock ), eq (new GenericType <Map <String , String >>() {
150+ JerseyRequest .buildRequest (eq (sessionStorageMock ), eq (new GenericType <Map <String , String >>() {
149151 }), eq (new String []{"/bundles" , "jasperserver_messages" }), any (DefaultErrorHandler .class ));
150152 }
151153
@@ -190,4 +192,41 @@ public void should_return_proper_bundles_by_name_for_default_locale() throws Exc
190192 JerseyRequest .buildRequest (eq (sessionStorageMock ), eq (new GenericType <Map <String , String >>() {
191193 }), eq (new String []{"/bundles" , "jasperserver_messages" }), any (DefaultErrorHandler .class ));
192194 }
195+
196+ @ Test
197+ public void should_not_invoke_adding_language_by_empty_locale () throws Exception {
198+ //given
199+ mockStatic (JerseyRequest .class );
200+ when (JerseyRequest .buildRequest (eq (sessionStorageMock ), any (GenericType .class ), isA (String [].class ), any (DefaultErrorHandler .class ))).thenReturn (requestMock );
201+ doReturn (requestMock ).when (requestMock ).addHeader (anyString (), anyString ());
202+ doReturn (requestMock ).when (requestMock ).setAccept (anyString ());
203+ doReturn (operationResultMock ).when (requestMock ).get ();
204+ //when
205+ OperationResult <Map <String , String >> bundle = service .forLocale (new Locale ("" )).bundle ("jasperserver_messages" );
206+ //then
207+ assertSame (bundle , operationResultMock );
208+ verify (requestMock ).setAccept (MediaType .APPLICATION_JSON );
209+ verify (requestMock ,never ()).addParam ("expanded" , "true" );
210+ verify (requestMock , never ()).addHeader ("Accept-Language" , Locale .getDefault ().toString ().replace ('_' , '-' ));
211+ verify (requestMock ).get ();
212+ verifyStatic (times (1 ));
213+ JerseyRequest .buildRequest (eq (sessionStorageMock ), eq (new GenericType <Map <String , String >>() {
214+ }), eq (new String []{"/bundles" , "jasperserver_messages" }), any (DefaultErrorHandler .class ));
215+ }
216+
217+
218+ @ Test
219+ public void should_set_default_locale () throws Exception {
220+ //given
221+ Locale defaultLocale = Locale .getDefault ();
222+ //when
223+ service .forLocale ((String )null );
224+ //then
225+ assertEquals (defaultLocale , Whitebox .getInternalState (service , "locale" ));
226+ }
227+
228+ @ AfterMethod
229+ public void afetr () {
230+ reset (sessionStorageMock , requestMock , operationResultMock );
231+ }
193232}
0 commit comments