LCOV - lcov.info - ept/core/desktop.test.h

LTP GCOV extension - code coverage report
Current view: | directory - ept/core - desktop.test.h
Test: | lcov.info
Date: | 2008-08-14 |  | Instrumented lines: | 33
Code covered: | 100.0 % |  | Executed lines: | 33

           1                 : // -*- C++ -*-
           2                 : #include <ept/config.h>
           3                 : #include <ept/core/desktop.h>
           4                 : #include <ept/core/list.h>
           5                 : #include <ept/test.h>
           6                 :
           7                 : using namespace ept::core;
           8                 :
           9               5 : struct TestDesktop {
          10                 :     desktop::Source desk;
          11                 :     ept::Token t;
          12                 :
          13               5 :     TestDesktop() : desk( TEST_ENV_DIR "desktop" ) {}
          14                 :
          15                 :     template< desktop::PropertyId P, typename L >
          16               3 :     void checkIteration2( int c, const char **check, L l ) {
          17               3 :         int i = 0;
          18              16 :         while ( !l.empty() ) {
          19              10 :             assert_eq( l.head().template get< P >(), check[ i ] );
          20              20 :             l = l.tail();
          21              10 :             ++ i;
          22                 :         }
          23               3 :         assert_eq( i, c );
          24               3 :     }
          25                 :
          26                 :     template< desktop::PropertyId P, typename L >
          27               3 :     void checkIteration( int c, const char **check, L l ) {
          28               3 :         checkIteration2< P >( c, check, list::sort( l ) );
          29               3 :     }
          30                 :
          31               1 :     Test iteration() {
          32               1 :         const char *check[] = { "Kdict", "foo", "XQF", "X-Server" };
          33                 :         checkIteration< desktop::Name >(
          34               1 :             4, check, desk.list< desktop::Name >() );
          35               1 :     }
          36                 :
          37               1 :     Test groupProperty() {
          38                 :         const char *check[] = {
          39                 :             "{ KDE, Qt, Utility }",
          40                 :             "{ KDE, Qt, Utility }",
          41                 :             "{ Application, Game, X-SuSE-Core-Game }",
          42                 :             "{ KDE, Qt, X-KDE-information }",
          43               1 :         };
          44                 :         checkIteration< desktop::Group >(
          45               1 :             4, check, desk.list< desktop::Name >() );
          46               1 :     }
          47                 :
          48               1 :     Test groups() {
          49               1 :         const char *check[] = { "Kdict", "foo" };
          50                 :         checkIteration< desktop::Name >(
          51               1 :             2, check, desk.group( "{ KDE, Qt, Utility }" ) );
          52               1 :     }
          53                 :
          54               1 :     Test groupList() {
          55                 :         std::string check[] = {
          56                 :             "{ Application, Game, X-SuSE-Core-Game }",
          57                 :             "{ KDE, Qt, Utility }",
          58                 :             "{ KDE, Qt, X-KDE-information }",
          59               1 :         };
          60                 :
          61               2 :         assert_list_eq( desk.groupList(), check );
          62               1 :     }
          63                 :
          64               1 :     Test emptyGroupList() {
          65               1 :         desktop::InternalList l;
          66               1 :         assert( l.empty() );
          67               1 :     }
          68                 : };

Generated by: LTP GCOV extension version 1.6