diff options
Diffstat (limited to 'tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserWidgetBot.java')
-rw-r--r-- | tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserWidgetBot.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserWidgetBot.java b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserWidgetBot.java index 37891b04b..7fa0aa864 100644 --- a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserWidgetBot.java +++ b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserWidgetBot.java @@ -23,9 +23,11 @@ package org.apache.directory.studio.test.integration.ui.bots; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.apache.directory.studio.ldapbrowser.core.BrowserCoreMessages; -import org.apache.directory.studio.test.integration.ui.bots.utils.JobWatcher; +import org.apache.directory.studio.test.integration.ui.utils.JobWatcher; import org.eclipse.swtbot.swt.finder.SWTBot; import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException; import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable; @@ -43,7 +45,6 @@ class BrowserWidgetBot { private SWTBot bot; - BrowserWidgetBot( SWTBot bot ) { this.bot = bot; @@ -243,7 +244,7 @@ class BrowserWidgetBot List<String> nodes = entry.getNodes(); for ( String node : nodes ) { - if ( node.toUpperCase().startsWith( nodeName.toUpperCase() ) ) + if ( matches( node, nodeName ) ) { return node; } @@ -258,7 +259,7 @@ class BrowserWidgetBot for ( SWTBotTreeItem item : allItems ) { String node = item.getText(); - if ( node.toUpperCase().startsWith( nodeName.toUpperCase() ) ) + if ( matches( node, nodeName ) ) { return node; } @@ -267,6 +268,19 @@ class BrowserWidgetBot } + private boolean matches( String candidate, String needle ) + { + Pattern pattern = Pattern.compile( "(.*) \\(\\d+\\+?\\)" ); + Matcher candidateMatcher = pattern.matcher( candidate ); + Matcher needleMatcher = pattern.matcher( needle ); + if ( candidateMatcher.matches() && !needleMatcher.matches() ) + { + candidate = candidateMatcher.group( 1 ); + } + return candidate.toUpperCase().equals( needle.toUpperCase() ); + } + + SWTBotTree getTree() { return bot.tree(); |