Mailinglist Archive: zypp-commit (243 mails)
| < Previous | Next > |
[zypp-commit] <libzypp> ma-misc : Add new string Match::Mode STRINGSTART and STRINGEND.
- From: Michael Andres <ma@xxxxxxx>
- Date: Wed, 15 Jul 2009 16:51:30 +0200
- Message-id: <E1MRlMM-0007r5-Tp@xxxxxxxxxxxxxxxx>
ref: refs/heads/ma-misc
commit e34ba877162b234f35e7b515c5a6c83dc2221130
Author: Michael Andres <ma@xxxxxxx>
Date: Wed Jul 15 16:51:30 2009 +0200
Add new string Match::Mode STRINGSTART and STRINGEND.
---
package/libzypp.changes | 5 +++++
tests/sat/AttrMatcher_test.cc | 20 ++++++++++++++++++++
zypp/sat/AttrMatcher.cc | 26 ++++++++++++++++----------
zypp/sat/AttrMatcher.h | 14 ++++++++++++++
4 files changed, 55 insertions(+), 10 deletions(-)
diff --git a/package/libzypp.changes b/package/libzypp.changes
index 5f09c1b..5c1eebe 100644
--- a/package/libzypp.changes
+++ b/package/libzypp.changes
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Wed Jul 15 16:45:39 CEST 2009 - ma@xxxxxxx
+
+- Add new string Match::Mode STRINGSTART and STRINGEND.
+
+-------------------------------------------------------------------
Tue Jul 15 14:38:51 CEST 2009 - jkupec@xxxxxxx
- log redirections when cURL media backend is used (fate #305320).
diff --git a/tests/sat/AttrMatcher_test.cc b/tests/sat/AttrMatcher_test.cc
index 05e0d88..e689f79 100644
--- a/tests/sat/AttrMatcher_test.cc
+++ b/tests/sat/AttrMatcher_test.cc
@@ -99,6 +99,26 @@ BOOST_AUTO_TEST_CASE(AttrMatcher_STRING)
BOOST_CHECK( !m( "default" ) );
}
+BOOST_AUTO_TEST_CASE(AttrMatcher_STRINGSTART)
+{
+ sat::AttrMatcher m( "fau", Match::STRINGSTART );
+ BOOST_CHECK( !m( "" ) );
+ BOOST_CHECK( !m( "a" ) );
+ BOOST_CHECK( m( "fau" ) );
+ BOOST_CHECK( m( "fault" ) );
+ BOOST_CHECK( !m( "default" ) );
+}
+
+BOOST_AUTO_TEST_CASE(AttrMatcher_STRINGEND)
+{
+ sat::AttrMatcher m( "fau", Match::STRINGEND );
+ BOOST_CHECK( !m( "" ) );
+ BOOST_CHECK( !m( "a" ) );
+ BOOST_CHECK( m( "fau" ) );
+ BOOST_CHECK( m( "defau" ) );
+ BOOST_CHECK( !m( "default" ) );
+}
+
BOOST_AUTO_TEST_CASE(AttrMatcher_REGEX)
{
sat::AttrMatcher m( "fau" );
diff --git a/zypp/sat/AttrMatcher.cc b/zypp/sat/AttrMatcher.cc
index 146cd5e..6001110 100644
--- a/zypp/sat/AttrMatcher.cc
+++ b/zypp/sat/AttrMatcher.cc
@@ -53,6 +53,8 @@ namespace zypp
{
case 0: return NOTHING; break;
case SEARCH_STRING: return STRING; break;
+ case SEARCH_STRINGSTART: return STRINGSTART; break;
+ case SEARCH_STRINGEND: return STRINGEND; break;
case SEARCH_SUBSTRING: return SUBSTRING; break;
case SEARCH_GLOB: return GLOB; break;
case SEARCH_REGEX: return REGEX; break;
@@ -66,6 +68,8 @@ namespace zypp
{
case NOTHING: return 0; break;
case STRING: return SEARCH_STRING; break;
+ case STRINGSTART: return SEARCH_STRINGSTART; break;
+ case STRINGEND: return SEARCH_STRINGEND; break;
case SUBSTRING: return SEARCH_SUBSTRING; break;
case GLOB: return SEARCH_GLOB; break;
case REGEX: return SEARCH_REGEX; break;
@@ -84,6 +88,8 @@ namespace zypp
#define OUTS(V) case Match::V: return str << #V; break
OUTS( NOTHING );
OUTS( STRING );
+ OUTS( STRINGSTART );
+ OUTS( STRINGEND );
OUTS( SUBSTRING );
OUTS( GLOB );
OUTS( REGEX );
@@ -99,21 +105,21 @@ namespace zypp
return str << "NOTHING";
const char * sep = "|";
-
- int val = obj.modeval();
- switch ( val )
+ Match::Mode mode( obj.mode() );
+ switch ( mode )
{
- case 0: sep = 0; break;
- case SEARCH_STRING: str << "STRING"; break;
- case SEARCH_SUBSTRING: str << "SUBSTRING"; break;
- case SEARCH_GLOB: str << "GLOB"; break;
- case SEARCH_REGEX: str << "REGEX"; break;
+ case Match::NOTHING:
+ sep = 0; // suppress 'NOTHING|'
+ break;
+ case Match::OTHER:
+ str << mode<<"("<<obj.modeval()<<")"; // check whether satsolver has
introduced new modes!
+ break;
default:
- str << "OTHER("<<val<<")"; // check whether satsolver has introduced
new modes!
+ str << mode;
break;
}
- val = obj.flagval();
+ int val = obj.flagval();
if ( val )
{
#define OUTS(V) if ( val & Match::V.get() ) { val &= ~Match::V.get(); if ( sep
) str << sep; else sep = "|"; str << #V; }
diff --git a/zypp/sat/AttrMatcher.h b/zypp/sat/AttrMatcher.h
index 9b3bc64..39dbc2d 100644
--- a/zypp/sat/AttrMatcher.h
+++ b/zypp/sat/AttrMatcher.h
@@ -50,6 +50,8 @@ namespace zypp
{
NOTHING, //!< Match nothing
STRING, //!< Excat matching
+ STRINGSTART, //!< Match at string start
+ STRINGEND, //!< Match at string end
SUBSTRING, //!< Match substring
GLOB, //!< Glob
REGEX, //!< Regular Expression
@@ -167,6 +169,12 @@ namespace zypp
/** Whether this has mode \ref STRING. */
bool isModeString() const
{ return isMode( STRING ); }
+ /** Whether this has mode \ref STRINGSTART. */
+ bool isModeStringstart() const
+ { return isMode( STRINGSTART ); }
+ /** Whether this has mode \ref STRINGEND. */
+ bool isModeStringend() const
+ { return isMode( STRINGEND ); }
/** Whether this has mode \ref SUBSTRING. */
bool isModeSubstring() const
{ return isMode( SUBSTRING ); }
@@ -183,6 +191,12 @@ namespace zypp
/** Set the mode \ref STRING. */
void setModeString()
{ setMode( STRING ); }
+ /** Set the mode \ref STRINGSTART. */
+ void setModeStringstart()
+ { setMode( STRINGSTART ); }
+ /** Set the mode \ref STRINGEND. */
+ void setModeStringend()
+ { setMode( STRINGEND ); }
/** Set the mode \ref SUBSTRING. */
void setModeSubstring()
{ setMode( SUBSTRING ); }
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-commit+help@xxxxxxxxxxxx
commit e34ba877162b234f35e7b515c5a6c83dc2221130
Author: Michael Andres <ma@xxxxxxx>
Date: Wed Jul 15 16:51:30 2009 +0200
Add new string Match::Mode STRINGSTART and STRINGEND.
---
package/libzypp.changes | 5 +++++
tests/sat/AttrMatcher_test.cc | 20 ++++++++++++++++++++
zypp/sat/AttrMatcher.cc | 26 ++++++++++++++++----------
zypp/sat/AttrMatcher.h | 14 ++++++++++++++
4 files changed, 55 insertions(+), 10 deletions(-)
diff --git a/package/libzypp.changes b/package/libzypp.changes
index 5f09c1b..5c1eebe 100644
--- a/package/libzypp.changes
+++ b/package/libzypp.changes
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Wed Jul 15 16:45:39 CEST 2009 - ma@xxxxxxx
+
+- Add new string Match::Mode STRINGSTART and STRINGEND.
+
+-------------------------------------------------------------------
Tue Jul 15 14:38:51 CEST 2009 - jkupec@xxxxxxx
- log redirections when cURL media backend is used (fate #305320).
diff --git a/tests/sat/AttrMatcher_test.cc b/tests/sat/AttrMatcher_test.cc
index 05e0d88..e689f79 100644
--- a/tests/sat/AttrMatcher_test.cc
+++ b/tests/sat/AttrMatcher_test.cc
@@ -99,6 +99,26 @@ BOOST_AUTO_TEST_CASE(AttrMatcher_STRING)
BOOST_CHECK( !m( "default" ) );
}
+BOOST_AUTO_TEST_CASE(AttrMatcher_STRINGSTART)
+{
+ sat::AttrMatcher m( "fau", Match::STRINGSTART );
+ BOOST_CHECK( !m( "" ) );
+ BOOST_CHECK( !m( "a" ) );
+ BOOST_CHECK( m( "fau" ) );
+ BOOST_CHECK( m( "fault" ) );
+ BOOST_CHECK( !m( "default" ) );
+}
+
+BOOST_AUTO_TEST_CASE(AttrMatcher_STRINGEND)
+{
+ sat::AttrMatcher m( "fau", Match::STRINGEND );
+ BOOST_CHECK( !m( "" ) );
+ BOOST_CHECK( !m( "a" ) );
+ BOOST_CHECK( m( "fau" ) );
+ BOOST_CHECK( m( "defau" ) );
+ BOOST_CHECK( !m( "default" ) );
+}
+
BOOST_AUTO_TEST_CASE(AttrMatcher_REGEX)
{
sat::AttrMatcher m( "fau" );
diff --git a/zypp/sat/AttrMatcher.cc b/zypp/sat/AttrMatcher.cc
index 146cd5e..6001110 100644
--- a/zypp/sat/AttrMatcher.cc
+++ b/zypp/sat/AttrMatcher.cc
@@ -53,6 +53,8 @@ namespace zypp
{
case 0: return NOTHING; break;
case SEARCH_STRING: return STRING; break;
+ case SEARCH_STRINGSTART: return STRINGSTART; break;
+ case SEARCH_STRINGEND: return STRINGEND; break;
case SEARCH_SUBSTRING: return SUBSTRING; break;
case SEARCH_GLOB: return GLOB; break;
case SEARCH_REGEX: return REGEX; break;
@@ -66,6 +68,8 @@ namespace zypp
{
case NOTHING: return 0; break;
case STRING: return SEARCH_STRING; break;
+ case STRINGSTART: return SEARCH_STRINGSTART; break;
+ case STRINGEND: return SEARCH_STRINGEND; break;
case SUBSTRING: return SEARCH_SUBSTRING; break;
case GLOB: return SEARCH_GLOB; break;
case REGEX: return SEARCH_REGEX; break;
@@ -84,6 +88,8 @@ namespace zypp
#define OUTS(V) case Match::V: return str << #V; break
OUTS( NOTHING );
OUTS( STRING );
+ OUTS( STRINGSTART );
+ OUTS( STRINGEND );
OUTS( SUBSTRING );
OUTS( GLOB );
OUTS( REGEX );
@@ -99,21 +105,21 @@ namespace zypp
return str << "NOTHING";
const char * sep = "|";
-
- int val = obj.modeval();
- switch ( val )
+ Match::Mode mode( obj.mode() );
+ switch ( mode )
{
- case 0: sep = 0; break;
- case SEARCH_STRING: str << "STRING"; break;
- case SEARCH_SUBSTRING: str << "SUBSTRING"; break;
- case SEARCH_GLOB: str << "GLOB"; break;
- case SEARCH_REGEX: str << "REGEX"; break;
+ case Match::NOTHING:
+ sep = 0; // suppress 'NOTHING|'
+ break;
+ case Match::OTHER:
+ str << mode<<"("<<obj.modeval()<<")"; // check whether satsolver has
introduced new modes!
+ break;
default:
- str << "OTHER("<<val<<")"; // check whether satsolver has introduced
new modes!
+ str << mode;
break;
}
- val = obj.flagval();
+ int val = obj.flagval();
if ( val )
{
#define OUTS(V) if ( val & Match::V.get() ) { val &= ~Match::V.get(); if ( sep
) str << sep; else sep = "|"; str << #V; }
diff --git a/zypp/sat/AttrMatcher.h b/zypp/sat/AttrMatcher.h
index 9b3bc64..39dbc2d 100644
--- a/zypp/sat/AttrMatcher.h
+++ b/zypp/sat/AttrMatcher.h
@@ -50,6 +50,8 @@ namespace zypp
{
NOTHING, //!< Match nothing
STRING, //!< Excat matching
+ STRINGSTART, //!< Match at string start
+ STRINGEND, //!< Match at string end
SUBSTRING, //!< Match substring
GLOB, //!< Glob
REGEX, //!< Regular Expression
@@ -167,6 +169,12 @@ namespace zypp
/** Whether this has mode \ref STRING. */
bool isModeString() const
{ return isMode( STRING ); }
+ /** Whether this has mode \ref STRINGSTART. */
+ bool isModeStringstart() const
+ { return isMode( STRINGSTART ); }
+ /** Whether this has mode \ref STRINGEND. */
+ bool isModeStringend() const
+ { return isMode( STRINGEND ); }
/** Whether this has mode \ref SUBSTRING. */
bool isModeSubstring() const
{ return isMode( SUBSTRING ); }
@@ -183,6 +191,12 @@ namespace zypp
/** Set the mode \ref STRING. */
void setModeString()
{ setMode( STRING ); }
+ /** Set the mode \ref STRINGSTART. */
+ void setModeStringstart()
+ { setMode( STRINGSTART ); }
+ /** Set the mode \ref STRINGEND. */
+ void setModeStringend()
+ { setMode( STRINGEND ); }
/** Set the mode \ref SUBSTRING. */
void setModeSubstring()
{ setMode( SUBSTRING ); }
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-commit+help@xxxxxxxxxxxx
| < Previous | Next > |