Author: lslezak Date: Wed Aug 31 09:51:51 2011 New Revision: 65459 URL: http://svn.opensuse.org/viewcvs/yast?rev=65459&view=rev Log: - added String::FindMountPoint() function (moved from yast2-wagon to share it with other modules) - 2.21.13 Added: trunk/yast2/library/types/testsuite/tests/FindMountPoint.err trunk/yast2/library/types/testsuite/tests/FindMountPoint.out trunk/yast2/library/types/testsuite/tests/FindMountPoint.ycp Modified: trunk/yast2/VERSION trunk/yast2/library/types/src/String.ycp trunk/yast2/package/yast2.changes Modified: trunk/yast2/VERSION URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/VERSION?rev=65459&r1=65458&r2=65459&view=diff ============================================================================== --- trunk/yast2/VERSION (original) +++ trunk/yast2/VERSION Wed Aug 31 09:51:51 2011 @@ -1 +1 @@ -2.21.12 +2.21.13 Modified: trunk/yast2/library/types/src/String.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/src/String.ycp?rev=65459&r1=65458&r2=65459&view=diff ============================================================================== --- trunk/yast2/library/types/src/String.ycp (original) +++ trunk/yast2/library/types/src/String.ycp Wed Aug 31 09:51:51 2011 @@ -1330,5 +1330,29 @@ return search(str, test) == 0; } +/* +* Find a mount point for given directory/file path. Returns "/" if no mount point matches +* @param dir requested path , e.g. "/usr/share" +* @param dirs list of mount points, e.g. [ "/", "/usr", "/boot" ] +* @return string a mount point from the input list or "/" if not found +*/ +global string FindMountPoint(string dir, list<string> dirs) +{ + while (dir != nil && dir != "" && !contains(dirs, dir)) + { + // strip the last path component and try it again + list<string> comps = splitstring(dir, "/"); + comps = remove(comps, size(comps) - 1); + dir = mergestring(comps, "/"); + } + + if (dir == nil || dir == "") + { + dir = "/"; + } + + return dir; +} + /* EOF */ } Added: trunk/yast2/library/types/testsuite/tests/FindMountPoint.err URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/testsuite/tests/FindMountPoint.err?rev=65459&view=auto ============================================================================== (empty) Added: trunk/yast2/library/types/testsuite/tests/FindMountPoint.out URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/testsuite/tests/FindMountPoint.out?rev=65459&view=auto ============================================================================== --- trunk/yast2/library/types/testsuite/tests/FindMountPoint.out (added) +++ trunk/yast2/library/types/testsuite/tests/FindMountPoint.out Wed Aug 31 09:51:51 2011 @@ -0,0 +1,14 @@ +Dump Test nil +Return / +Return / +Return / +Dump Test empty string +Return / +Return / +Return / +Dump Test valid values +Return / +Return /usr +Return /usr +Return /usr +Return /usr/share Added: trunk/yast2/library/types/testsuite/tests/FindMountPoint.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/testsuite/tests/FindMountPoint.ycp?rev=65459&view=auto ============================================================================== --- trunk/yast2/library/types/testsuite/tests/FindMountPoint.ycp (added) +++ trunk/yast2/library/types/testsuite/tests/FindMountPoint.ycp Wed Aug 31 09:51:51 2011 @@ -0,0 +1,24 @@ +{ + +include "testsuite.ycp"; + +include "wagon/wagon_helpers.ycp"; + +//import "Wagon"; +DUMP("Test nil"); +TEST(``(FindMountPoint(nil, nil)), [], nil); +TEST(``(FindMountPoint(nil, [])), [], nil); +TEST(``(FindMountPoint(nil, ["/boot", "/"])), [], nil); + +DUMP("Test empty string"); +TEST(``(FindMountPoint("", nil)), [], nil); +TEST(``(FindMountPoint("", [])), [], nil); +TEST(``(FindMountPoint("", ["/boot", "/"])), [], nil); + +DUMP("Test valid values"); +TEST(``(FindMountPoint("/", ["/boot", "/", "/usr"])), [], nil); +TEST(``(FindMountPoint("/usr", ["/boot", "/", "/usr"])), [], nil); +TEST(``(FindMountPoint("/usr/", ["/boot", "/", "/usr"])), [], nil); +TEST(``(FindMountPoint("/usr/share/locale", ["/boot", "/", "/usr"])), [], nil); +TEST(``(FindMountPoint("/usr/share/locale", ["/boot", "/", "/usr", "/usr/share"])), [], nil); +} Modified: trunk/yast2/package/yast2.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/package/yast2.changes?rev=65459&r1=65458&r2=65459&view=diff ============================================================================== --- trunk/yast2/package/yast2.changes (original) +++ trunk/yast2/package/yast2.changes Wed Aug 31 09:51:51 2011 @@ -2,6 +2,9 @@ Wed Aug 31 07:40:54 UTC 2011 - lslezak@suse.cz - fixed trusting a GPG key (wrong id check) (bnc#713068) +- added String::FindMountPoint() function (moved from yast2-wagon + to share it with other modules) +- 2.21.13 ------------------------------------------------------------------- Fri Aug 26 13:26:32 CEST 2011 - locilka@suse.cz -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org