Revision: f1c15e0bfa69
Branch:   default
Author:   Jussi Malinen <jussi.ao.mali...@gmail.com>
Date:     Tue May 27 14:43:45 2014 UTC
Log:      Update issue 811

Added support for methods names starting with underscore
http://code.google.com/p/robotframework/source/detail?r=f1c15e0bfa69

Modified:
 /atest/testdata/test_libraries/as_listener/listenerlibrary.py
 /src/robot/output/librarylisteners.py
 /src/robot/output/listeners.py
 /src/robot/output/loggerhelper.py

=======================================
--- /atest/testdata/test_libraries/as_listener/listenerlibrary.py Tue May 27 10:01:34 2014 UTC +++ /atest/testdata/test_libraries/as_listener/listenerlibrary.py Tue May 27 14:43:45 2014 UTC
@@ -10,13 +10,13 @@
     def get_events(self):
         return self.events[:]

-    def start_test(self, name, attrs):
+    def _start_test(self, name, attrs):
         self.events.append('start test %s' % name)

     def end_test(self, name, attrs):
         self.events.append('end test %s' % name)

-    def start_keyword(self, name, attrs):
+    def _start_keyword(self, name, attrs):
         self.events.append('start kw %s' % name)

     def end_keyword(self, name, attrs):
=======================================
--- /src/robot/output/librarylisteners.py       Tue May 27 10:01:34 2014 UTC
+++ /src/robot/output/librarylisteners.py       Tue May 27 14:43:45 2014 UTC
@@ -13,6 +13,7 @@
 #  limitations under the License.

 from .listeners import Listeners, _ListenerProxy
+from .loggerhelper import AbstractLoggerProxy


 class LibraryListeners(Listeners):
@@ -29,5 +30,16 @@
         from robot.running import EXECUTION_CONTEXTS
         if not EXECUTION_CONTEXTS.current:
             return []
-        return [_ListenerProxy(listener=listener) for listener in
+        return [_LibraryListenerProxy(listener) for listener in
                 EXECUTION_CONTEXTS.current.namespace.library_listeners]
+
+class _LibraryListenerProxy(_ListenerProxy):
+
+    def __init__(self, listener):
+        AbstractLoggerProxy.__init__(self, listener)
+        self.name = type(listener).__name__
+        self.version = self._get_version(listener)
+        self.is_java = self._is_java(listener)
+
+    def _get_method_names(self, name):
+        return (name, self._toCamelCase(name), '_%s' % name)
=======================================
--- /src/robot/output/listeners.py      Mon May 26 15:18:30 2014 UTC
+++ /src/robot/output/listeners.py      Tue May 27 14:43:45 2014 UTC
@@ -218,12 +218,15 @@
                 'output_file', 'report_file', 'log_file', 'debug_file',
                 'xunit_file', 'close']

-    def __init__(self, name=None, args=None, listener=None):
-        listener = listener or self._import_listener(name, args)
+    def __init__(self, name, args):
+        listener = self._import_listener(name, args)
         AbstractLoggerProxy.__init__(self, listener)
-        self.name = name or type(listener).__name__
+        self.name = name
         self.version = self._get_version(listener)
-        self.is_java = utils.is_jython and isinstance(listener, Object)
+        self.is_java = self._is_java(listener)
+
+    def _is_java(self, listener):
+        return utils.is_jython and isinstance(listener, Object)

     def _import_listener(self, name, args):
         importer = utils.Importer('listener')
=======================================
--- /src/robot/output/loggerhelper.py   Thu Jan 23 14:00:53 2014 UTC
+++ /src/robot/output/loggerhelper.py   Tue May 27 14:43:45 2014 UTC
@@ -133,9 +133,13 @@
             setattr(self, name, self._get_method(logger, name))

     def _get_method(self, logger, name):
-        if hasattr(logger, name):
-            return getattr(logger, name)
-        return getattr(logger, self._toCamelCase(name), self._no_method)
+        for method_name in self._get_method_names(name):
+            if hasattr(logger, method_name):
+                return getattr(logger, method_name)
+        return self._no_method
+
+    def _get_method_names(self, name):
+        return (name, self._toCamelCase(name))

     def _toCamelCase(self, name):
         parts = name.split('_')

--

--- You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to robotframework-commit+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to