~thopiekar/zypper/libzypp-manual-import

« back to all changes in this revision

Viewing changes to tests/zypp/base/Glob_test.cc

  • Committer: Thomas-Karl Pietrowski
  • Date: 2014-01-29 22:44:28 UTC
  • Revision ID: thopiekar@googlemail.com-20140129224428-gpcqnsdakby362n8
firstĀ import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "TestSetup.h"
 
2
#include "zypp/Pathname.h"
 
3
#include "zypp/Glob.h"
 
4
 
 
5
#define BOOST_TEST_MODULE Glob
 
6
 
 
7
static Pathname TEST_ROOT( TESTS_SRC_DIR"/zypp/base/Glob_test.dat" );
 
8
 
 
9
using filesystem::Glob;
 
10
 
 
11
BOOST_AUTO_TEST_CASE(Glob_default)
 
12
{
 
13
  // enable loging for the scope of this block:
 
14
  // base::LogControl::TmpLineWriter shutUp( new log::FileLineWriter( "-" ) );
 
15
  Glob q;
 
16
  BOOST_CHECK( q.empty() );
 
17
  BOOST_CHECK( q.size() == 0 );
 
18
  BOOST_CHECK_EQUAL( q.begin(), q.end() );
 
19
  BOOST_CHECK( q.defaultFlags() == Glob::Flags() );
 
20
 
 
21
  q.add( TEST_ROOT/"file" );
 
22
  BOOST_CHECK( ! q.empty() );
 
23
  BOOST_CHECK( q.size() == 1 );
 
24
  BOOST_CHECK_NE( q.begin(), q.end() );
 
25
  BOOST_CHECK_EQUAL( *q.begin(), TEST_ROOT/"file" );
 
26
 
 
27
  q.reset( Glob::_BRACE );
 
28
  BOOST_CHECK( q.empty() );
 
29
  BOOST_CHECK( q.size() == 0 );
 
30
  BOOST_CHECK_EQUAL( q.begin(), q.end() );
 
31
  BOOST_CHECK( q.defaultFlags() == Glob::_BRACE );
 
32
 
 
33
  q.add( TEST_ROOT/"file*" );
 
34
  BOOST_CHECK( q.size() == 3 );
 
35
 
 
36
  q.add( TEST_ROOT/"*{.xml,.xml.gz}" );
 
37
  BOOST_CHECK( q.size() == 5 );
 
38
 
 
39
  q.clear(); // no flags reset: Glob::_BRACE active
 
40
  BOOST_CHECK( q.size() == 0 );
 
41
 
 
42
  q.add( TEST_ROOT/"*{.xml,.xml.gz}" );
 
43
  BOOST_CHECK( q.size() == 2 );
 
44
 
 
45
  q.reset(); // flags reset: Glob::_BRACE off
 
46
  BOOST_CHECK( q.size() == 0 );
 
47
 
 
48
  q.add( TEST_ROOT/"*{.xml,.xml.gz}" );
 
49
  BOOST_CHECK( q.size() == 0 );
 
50
}
 
51
 
 
52
BOOST_AUTO_TEST_CASE(Glob_static)
 
53
{
 
54
  std::set<Pathname> q;
 
55
  Glob::collect( TEST_ROOT/"*{.xml,.xml.gz}", Glob::_BRACE, std::inserter( q, q.begin() ) );
 
56
  BOOST_REQUIRE( q.size() == 2 );
 
57
  BOOST_CHECK_EQUAL( *q.begin(), TEST_ROOT/"file.xml" );
 
58
  BOOST_CHECK_EQUAL( *++q.begin(), TEST_ROOT/"file.xml.gz" );
 
59
}