[Checkins] SVN: gocept.selenium/trunk/src/gocept/selenium/selenese.py simplified passing of the selenese method name to the assertion error message

Thomas Lotze tl at gocept.com
Tue Mar 16 09:06:50 EDT 2010


Log message for revision 109983:
  simplified passing of the selenese method name to the assertion error message

Changed:
  U   gocept.selenium/trunk/src/gocept/selenium/selenese.py

-=-
Modified: gocept.selenium/trunk/src/gocept/selenium/selenese.py
===================================================================
--- gocept.selenium/trunk/src/gocept/selenium/selenese.py	2010-03-16 10:55:24 UTC (rev 109982)
+++ gocept.selenium/trunk/src/gocept/selenium/selenese.py	2010-03-16 13:06:49 UTC (rev 109983)
@@ -270,11 +270,6 @@
     # Internal
 
     def __getattr__(self, name):
-        attr = self.__getattr(name)
-        attr.__name__ = name
-        return attr
-
-    def __getattr(self, name):
         requested_name = name
         if name.startswith('waitFor'):
             name = name.replace('waitFor', 'assert', 1)
@@ -282,10 +277,8 @@
             return (lambda *args, **kw:
                     self._waitFor(assertion, *args, **kw))
 
-        positive = True
         if 'Not' in name:
             name = name.replace('Not', '', 1)
-            positive = False
 
         if name.startswith('verify'):
             name = name.replace('verify', 'assert', 1)
@@ -300,25 +293,27 @@
                 raise AttributeError(requested_name)
             if getter.assert_type == 'pattern':
                 return lambda pattern: self._assert_pattern(
-                    getter, positive, pattern)
+                    getter, requested_name, pattern)
             elif getter.assert_type == 'locator':
-                return lambda locator: self._assert(getter, positive, locator)
+                return lambda locator: self._assert(
+                    getter, requested_name, locator)
             elif getter.assert_type == 'locator_pattern':
                 return lambda locator, pattern: self._assert_pattern(
-                    getter, positive, pattern, locator)
+                    getter, requested_name, pattern, locator)
             elif getter.assert_type is None:
-                return lambda: self._assert(getter, positive)
+                return lambda: self._assert(getter, requested_name)
 
         raise AttributeError(requested_name)
 
-    def _assert(self, getter, positive, *args, **kw):
-        if positive ^ bool(getter(*args, **kw)):
+    def _assert(self, getter, name, *args, **kw):
+        if ('Not' not in name) ^ bool(getter(*args, **kw)):
             raise self.failureException(
-                'not valid: %s(%r, %r)' % (getter.__name__, args, kw))
+                'not valid: %s(%r, %r)' % (name, args, kw))
 
-    def _assert_pattern(self, getter, positive, pattern, *args):
+    def _assert_pattern(self, getter, name, pattern, *args):
         result = getter(*args)
-        if positive ^ bool(selenese_pattern_equals(result, pattern)):
+        if ('Not' not in name) ^ bool(
+                selenese_pattern_equals(result, pattern)):
             raise self.failureException(
                 '%r did not match expected %r'
                 % (result, pattern))



More information about the checkins mailing list