88
99import java .net .URL ;
1010import java .nio .charset .Charset ;
11+ import java .util .List ;
1112import java .util .Locale ;
1213import org .junit .After ;
1314import org .junit .AfterClass ;
@@ -232,6 +233,90 @@ public void testCurrentSecond(){
232233 request .setCurrentSecond (3 );
233234 assertEquals (new Integer (3 ), request .getCurrentSecond ());
234235 }
236+
237+ /**
238+ * Test of getCustomTrackingParameter method, of class PiwikRequest.
239+ */
240+ @ Test
241+ public void testGetCustomTrackingParameter_T (){
242+ try {
243+ request .getCustomTrackingParameter (null );
244+ fail ("Exception should have been thrown." );
245+ }
246+ catch (NullPointerException e ){
247+ assertEquals ("Key cannot be null." , e .getLocalizedMessage ());
248+ }
249+ }
250+ @ Test
251+ public void testGetCustomTrackingParameter_FT (){
252+ assertTrue (request .getCustomTrackingParameter ("key" ).isEmpty ());
253+ }
254+ @ Test
255+ public void testSetCustomTrackingParameter_T (){
256+ try {
257+ request .setCustomTrackingParameter (null , null );
258+ fail ("Exception should have been thrown." );
259+ }
260+ catch (NullPointerException e ){
261+ assertEquals ("Key cannot be null." , e .getLocalizedMessage ());
262+ }
263+ }
264+ @ Test
265+ public void testSetCustomTrackingParameter_F (){
266+ request .setCustomTrackingParameter ("key" , "value" );
267+ List l = request .getCustomTrackingParameter ("key" );
268+ assertEquals (1 , l .size ());
269+ assertEquals ("value" , l .get (0 ));
270+
271+ request .setCustomTrackingParameter ("key" , "value2" );
272+ l = request .getCustomTrackingParameter ("key" );
273+ assertEquals (1 , l .size ());
274+ assertEquals ("value2" , l .get (0 ));
275+
276+ request .setCustomTrackingParameter ("key" , null );
277+ l = request .getCustomTrackingParameter ("key" );
278+ assertTrue (l .isEmpty ());
279+ }
280+ @ Test
281+ public void testAddCustomTrackingParameter_T (){
282+ try {
283+ request .addCustomTrackingParameter (null , null );
284+ fail ("Exception should have been thrown." );
285+ }
286+ catch (NullPointerException e ){
287+ assertEquals ("Key cannot be null." , e .getLocalizedMessage ());
288+ }
289+ }
290+ @ Test
291+ public void testAddCustomTrackingParameter_FT (){
292+ try {
293+ request .addCustomTrackingParameter ("key" , null );
294+ fail ("Exception should have been thrown." );
295+ }
296+ catch (NullPointerException e ){
297+ assertEquals ("Cannot add a null custom tracking parameter." , e .getLocalizedMessage ());
298+ }
299+ }
300+ @ Test
301+ public void testAddCustomTrackingParameter_FF (){
302+ request .addCustomTrackingParameter ("key" , "value" );
303+ List l = request .getCustomTrackingParameter ("key" );
304+ assertEquals (1 , l .size ());
305+ assertEquals ("value" , l .get (0 ));
306+
307+ request .addCustomTrackingParameter ("key" , "value2" );
308+ l = request .getCustomTrackingParameter ("key" );
309+ assertEquals (2 , l .size ());
310+ assertTrue (l .contains ("value" ));
311+ assertTrue (l .contains ("value2" ));
312+ }
313+ @ Test
314+ public void testClearCustomTrackingParameter (){
315+ request .setCustomTrackingParameter ("key" , "value" );
316+ request .clearCustomTrackingParameter ();
317+ List l = request .getCustomTrackingParameter ("key" );
318+ assertTrue (l .isEmpty ());
319+ }
235320
236321 /**
237322 * Test of getDeviceResolution method, of class PiwikRequest.
@@ -1269,6 +1354,24 @@ public void testGetQueryString(){
12691354 request .getQueryString ());
12701355 request .setPageCustomVariable ("key" , null );
12711356 assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http://test.com" , request .getQueryString ());
1357+ request .addCustomTrackingParameter ("key" , "test" );
1358+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http://test.com&key=test" , request .getQueryString ());
1359+ request .addCustomTrackingParameter ("key" , "test2" );
1360+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http://test.com&key=test&key=test2" , request .getQueryString ());
1361+ request .setCustomTrackingParameter ("key2" , "test3" );
1362+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http://test.com&key2=test3&key=test&key=test2" , request .getQueryString ());
1363+ request .setCustomTrackingParameter ("key" , "test4" );
1364+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http://test.com&key2=test3&key=test4" , request .getQueryString ());
1365+ request .setRandomValue (null );
1366+ request .setSiteId (null );
1367+ request .setRequired (null );
1368+ request .setApiVersion (null );
1369+ request .setResponseAsImage (null );
1370+ request .setVisitorId (null );
1371+ request .setActionUrl (null );
1372+ assertEquals ("key2=test3&key=test4" , request .getQueryString ());
1373+ request .clearCustomTrackingParameter ();
1374+ assertEquals ("" , request .getQueryString ());
12721375 }
12731376
12741377 /**
@@ -1279,6 +1382,24 @@ public void testGetUrlEncodedQueryString(){
12791382 request .setRandomValue ("random" );
12801383 request .setVisitorId ("1234567890123456" );
12811384 assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http%3A%2F%2Ftest.com" , request .getUrlEncodedQueryString ());
1385+ request .addCustomTrackingParameter ("ke/y" , "te:st" );
1386+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http%3A%2F%2Ftest.com&ke%2Fy=te%3Ast" , request .getUrlEncodedQueryString ());
1387+ request .addCustomTrackingParameter ("ke/y" , "te:st2" );
1388+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http%3A%2F%2Ftest.com&ke%2Fy=te%3Ast&ke%2Fy=te%3Ast2" , request .getUrlEncodedQueryString ());
1389+ request .setCustomTrackingParameter ("ke/y2" , "te:st3" );
1390+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http%3A%2F%2Ftest.com&ke%2Fy=te%3Ast&ke%2Fy=te%3Ast2&ke%2Fy2=te%3Ast3" , request .getUrlEncodedQueryString ());
1391+ request .setCustomTrackingParameter ("ke/y" , "te:st4" );
1392+ assertEquals ("rand=random&idsite=3&rec=1&apiv=1&send_image=0&_id=1234567890123456&url=http%3A%2F%2Ftest.com&ke%2Fy=te%3Ast4&ke%2Fy2=te%3Ast3" , request .getUrlEncodedQueryString ());
1393+ request .setRandomValue (null );
1394+ request .setSiteId (null );
1395+ request .setRequired (null );
1396+ request .setApiVersion (null );
1397+ request .setResponseAsImage (null );
1398+ request .setVisitorId (null );
1399+ request .setActionUrl (null );
1400+ assertEquals ("ke%2Fy=te%3Ast4&ke%2Fy2=te%3Ast3" , request .getUrlEncodedQueryString ());
1401+ request .clearCustomTrackingParameter ();
1402+ assertEquals ("" , request .getUrlEncodedQueryString ());
12821403 }
12831404
12841405 /**
0 commit comments