@@ -455,6 +455,67 @@ def test_gettimelinedata(self):
455455 responsedata ['timelines' ][0 ]['branches' ]['master' ]['1:1' ][1 ],
456456 [u'2011/04/13 17:04:22 +0000' , 2000.0 , 1.11111 , u'2' , u'' , u'master' , u'' ])
457457
458+ def test_no_source_fold_with_one_source (self ):
459+ """A single source shows a flat benchmark list and no fold header"""
460+ response = self .client .get (reverse ('timeline' ))
461+ self .assertEqual (response .status_code , 200 )
462+ self .assertIsNone (response .context ['grid_revisions' ])
463+ self .assertNotContains (response , 'class="togglefold">Legacy</a>' )
464+ self .assertContains (response , 'grid_revisions: null' )
465+
466+ def test_source_fold_with_several_sources (self ):
467+ Benchmark .objects .create (name = 'float' , source = 'pyperformance' )
468+ response = self .client .get (reverse ('timeline' ))
469+ self .assertContains (response , 'class="togglefold">Legacy</a>' )
470+ self .assertContains (response , 'class="togglefold">PyPerformance</a>' )
471+
472+ @override_settings (TIMELINE_GRID_REVISIONS = 25 )
473+ def test_grid_revisions_setting (self ):
474+ response = self .client .get (reverse ('timeline' ))
475+ self .assertEqual (response .context ['grid_revisions' ], 25 )
476+ self .assertIn (25 , response .context ['lastrevisions' ])
477+ self .assertContains (response , 'grid_revisions: 25' )
478+
479+
480+ class TestComparison (TestCase ):
481+ fixtures = ["timeline_tests.json" ]
482+
483+ def setUp (self ):
484+ self .path = reverse ('comparison' )
485+ self .dual = Environment .objects .get (name = 'Dual Core' )
486+ self .quad = Environment .objects .create (name = 'Quad Core' )
487+
488+ def checked_env_names (self , response ):
489+ return sorted (e .name for e in response .context ['checkedenviros' ])
490+
491+ def test_all_environments_checked_by_default (self ):
492+ response = self .client .get (self .path )
493+ self .assertEqual (response .status_code , 200 )
494+ self .assertEqual (self .checked_env_names (response ),
495+ ['Dual Core' , 'Quad Core' ])
496+
497+ @override_settings (COMP_ENVIRONMENTS_DEFAULT = 'default' ,
498+ DEF_ENVIRONMENT = 'Quad Core' )
499+ def test_only_default_environment_checked (self ):
500+ response = self .client .get (self .path )
501+ self .assertEqual (self .checked_env_names (response ), ['Quad Core' ])
502+ # Permalinks still select several environments
503+ response = self .client .get (
504+ self .path , {'env' : '%d,%d' % (self .dual .id , self .quad .id )})
505+ self .assertEqual (self .checked_env_names (response ),
506+ ['Dual Core' , 'Quad Core' ])
507+
508+ def test_benchmarks_grouped_by_units_with_one_source (self ):
509+ response = self .client .get (self .path )
510+ self .assertEqual (list (response .context ['benchmarks' ]), ['Time' ])
511+ self .assertContains (response , 'class="togglefold">Time</a>' )
512+
513+ def test_benchmarks_grouped_by_source_with_several_sources (self ):
514+ Benchmark .objects .create (name = 'float' , source = 'pyperformance' )
515+ response = self .client .get (self .path )
516+ self .assertEqual (list (response .context ['benchmarks' ]),
517+ ['Legacy' , 'PyPerformance' ])
518+
458519
459520@override_settings (ALLOW_ANONYMOUS_POST = True )
460521class TestReports (TestCase ):
0 commit comments