diff --git a/build_dist.py b/build_dist.py index 6b5dd3530..311bf7daf 100644 --- a/build_dist.py +++ b/build_dist.py @@ -1,6 +1,11 @@ #!/usr/bin/env python -import os, sys, shutil, subprocess, argparse +import argparse +import os +import shutil +import subprocess +import sys + THIS_DIR = os.path.dirname(os.path.abspath(__file__)) DIST_DIR = os.path.join(THIS_DIR, "dist") diff --git a/src/Selenium2Library/__init__.py b/src/Selenium2Library/__init__.py index 75884e9ea..b208e40f9 100644 --- a/src/Selenium2Library/__init__.py +++ b/src/Selenium2Library/__init__.py @@ -1,7 +1,8 @@ +from __future__ import absolute_import import os -from keywords import * -from version import VERSION -from utils import LibraryListener +from .keywords import * +from .version import VERSION +from .utils import LibraryListener __version__ = VERSION diff --git a/src/Selenium2Library/keywords/__init__.py b/src/Selenium2Library/keywords/__init__.py index 431bb107c..09ff409a7 100644 --- a/src/Selenium2Library/keywords/__init__.py +++ b/src/Selenium2Library/keywords/__init__.py @@ -1,15 +1,16 @@ -from _logging import _LoggingKeywords -from _runonfailure import _RunOnFailureKeywords -from _browsermanagement import _BrowserManagementKeywords -from _element import _ElementKeywords -from _tableelement import _TableElementKeywords -from _formelement import _FormElementKeywords -from _selectelement import _SelectElementKeywords -from _javascript import _JavaScriptKeywords -from _cookie import _CookieKeywords -from _screenshot import _ScreenshotKeywords -from _waiting import _WaitingKeywords -from _alert import _AlertKeywords +from __future__ import absolute_import +from ._logging import _LoggingKeywords +from ._runonfailure import _RunOnFailureKeywords +from ._browsermanagement import _BrowserManagementKeywords +from ._element import _ElementKeywords +from ._tableelement import _TableElementKeywords +from ._formelement import _FormElementKeywords +from ._selectelement import _SelectElementKeywords +from ._javascript import _JavaScriptKeywords +from ._cookie import _CookieKeywords +from ._screenshot import _ScreenshotKeywords +from ._waiting import _WaitingKeywords +from ._alert import _AlertKeywords __all__ = [ "_LoggingKeywords", diff --git a/src/Selenium2Library/keywords/_alert.py b/src/Selenium2Library/keywords/_alert.py index f7a245f1f..44b2b7653 100644 --- a/src/Selenium2Library/keywords/_alert.py +++ b/src/Selenium2Library/keywords/_alert.py @@ -1,136 +1,137 @@ -from selenium.common.exceptions import WebDriverException -from selenium.webdriver.support.ui import WebDriverWait -from selenium.webdriver.support import expected_conditions as EC -from keywordgroup import KeywordGroup - - -class _AlertKeywords(KeywordGroup): - - def __init__(self): - self._cancel_on_next_confirmation = False - - # Public - - def input_text_into_prompt(self, text): - """Types the given `text` into alert box. """ - alert = None - try: - alert = self._wait_alert() - alert.send_keys(text) - except WebDriverException: - raise RuntimeError('There were no alerts') - - def alert_should_be_present(self, text=''): - """Verifies an alert is present and dismisses it. - - If `text` is a non-empty string, then it is also verified that the - message of the alert equals to `text`. - - Will fail if no alert is present. Note that following keywords - will fail unless the alert is dismissed by this - keyword or another like `Get Alert Message`. - """ - alert_text = self.get_alert_message() - if text and alert_text != text: - raise AssertionError("Alert text should have been " - "'%s' but was '%s'" - % (text, alert_text)) - - def choose_cancel_on_next_confirmation(self): - """Cancel will be selected the next time `Confirm Action` is used.""" - self._cancel_on_next_confirmation = True - - def choose_ok_on_next_confirmation(self): - """Undo the effect of using keywords `Choose Cancel On Next Confirmation`. Note - that Selenium's overridden window.confirm() function will normally - automatically return true, as if the user had manually clicked OK, so - you shouldn't need to use this command unless for some reason you need - to change your mind prior to the next confirmation. After any - confirmation, Selenium will resume using the default behavior for - future confirmations, automatically returning true (OK) unless/until - you explicitly use `Choose Cancel On Next Confirmation` for each - confirmation. - - Note that every time a confirmation comes up, you must - consume it by using a keywords such as `Get Alert Message`, or else - the following selenium operations will fail. - """ - self._cancel_on_next_confirmation = False - - def confirm_action(self): - """Dismisses currently shown confirmation dialog and returns it's message. - - By default, this keyword chooses 'OK' option from the dialog. If - 'Cancel' needs to be chosen, keyword `Choose Cancel On Next - Confirmation` must be called before the action that causes the - confirmation dialog to be shown. - - Examples: - | Click Button | Send | # Shows a confirmation dialog | - | ${message}= | Confirm Action | # Chooses Ok | - | Should Be Equal | ${message} | Are your sure? | - | | | | - | Choose Cancel On Next Confirmation | | | - | Click Button | Send | # Shows a confirmation dialog | - | Confirm Action | | # Chooses Cancel | - """ - text = self._close_alert(not self._cancel_on_next_confirmation) - self._cancel_on_next_confirmation = False - return text - - def get_alert_message(self, dismiss=True): - """Returns the text of current JavaScript alert. - - By default the current JavaScript alert will be dismissed. - This keyword will fail if no alert is present. Note that - following keywords will fail unless the alert is - dismissed by this keyword or another like `Get Alert Message`. - """ - if dismiss: - return self._close_alert() - else: - return self._read_alert() - - def dismiss_alert(self, accept=True): - """ Returns true if alert was confirmed, false if it was dismissed - - This keyword will fail if no alert is present. Note that - following keywords will fail unless the alert is - dismissed by this keyword or another like `Get Alert Message`. - """ - return self._handle_alert(accept) - - # Private - - def _close_alert(self, confirm=True): - try: - text = self._read_alert() - self._handle_alert(confirm) - return text - except WebDriverException: - raise RuntimeError('There were no alerts') - - def _read_alert(self): - alert = None - try: - alert = self._wait_alert() - # collapse new lines chars - return ' '.join(alert.text.splitlines()) - except WebDriverException: - raise RuntimeError('There were no alerts') - - def _handle_alert(self, confirm=True): - try: - alert = self._wait_alert() - if not confirm: - alert.dismiss() - return False - else: - alert.accept() - return True - except WebDriverException: - raise RuntimeError('There were no alerts') - - def _wait_alert(self): - return WebDriverWait(self._current_browser(), 1).until( - EC.alert_is_present()) +from __future__ import absolute_import +from selenium.common.exceptions import WebDriverException +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +from .keywordgroup import KeywordGroup + + +class _AlertKeywords(KeywordGroup): + + def __init__(self): + self._cancel_on_next_confirmation = False + + # Public + + def input_text_into_prompt(self, text): + """Types the given `text` into alert box. """ + alert = None + try: + alert = self._wait_alert() + alert.send_keys(text) + except WebDriverException: + raise RuntimeError('There were no alerts') + + def alert_should_be_present(self, text=''): + """Verifies an alert is present and dismisses it. + + If `text` is a non-empty string, then it is also verified that the + message of the alert equals to `text`. + + Will fail if no alert is present. Note that following keywords + will fail unless the alert is dismissed by this + keyword or another like `Get Alert Message`. + """ + alert_text = self.get_alert_message() + if text and alert_text != text: + raise AssertionError("Alert text should have been " + "'%s' but was '%s'" + % (text, alert_text)) + + def choose_cancel_on_next_confirmation(self): + """Cancel will be selected the next time `Confirm Action` is used.""" + self._cancel_on_next_confirmation = True + + def choose_ok_on_next_confirmation(self): + """Undo the effect of using keywords `Choose Cancel On Next Confirmation`. Note + that Selenium's overridden window.confirm() function will normally + automatically return true, as if the user had manually clicked OK, so + you shouldn't need to use this command unless for some reason you need + to change your mind prior to the next confirmation. After any + confirmation, Selenium will resume using the default behavior for + future confirmations, automatically returning true (OK) unless/until + you explicitly use `Choose Cancel On Next Confirmation` for each + confirmation. + + Note that every time a confirmation comes up, you must + consume it by using a keywords such as `Get Alert Message`, or else + the following selenium operations will fail. + """ + self._cancel_on_next_confirmation = False + + def confirm_action(self): + """Dismisses currently shown confirmation dialog and returns it's message. + + By default, this keyword chooses 'OK' option from the dialog. If + 'Cancel' needs to be chosen, keyword `Choose Cancel On Next + Confirmation` must be called before the action that causes the + confirmation dialog to be shown. + + Examples: + | Click Button | Send | # Shows a confirmation dialog | + | ${message}= | Confirm Action | # Chooses Ok | + | Should Be Equal | ${message} | Are your sure? | + | | | | + | Choose Cancel On Next Confirmation | | | + | Click Button | Send | # Shows a confirmation dialog | + | Confirm Action | | # Chooses Cancel | + """ + text = self._close_alert(not self._cancel_on_next_confirmation) + self._cancel_on_next_confirmation = False + return text + + def get_alert_message(self, dismiss=True): + """Returns the text of current JavaScript alert. + + By default the current JavaScript alert will be dismissed. + This keyword will fail if no alert is present. Note that + following keywords will fail unless the alert is + dismissed by this keyword or another like `Get Alert Message`. + """ + if dismiss: + return self._close_alert() + else: + return self._read_alert() + + def dismiss_alert(self, accept=True): + """ Returns true if alert was confirmed, false if it was dismissed + + This keyword will fail if no alert is present. Note that + following keywords will fail unless the alert is + dismissed by this keyword or another like `Get Alert Message`. + """ + return self._handle_alert(accept) + + # Private + + def _close_alert(self, confirm=True): + try: + text = self._read_alert() + self._handle_alert(confirm) + return text + except WebDriverException: + raise RuntimeError('There were no alerts') + + def _read_alert(self): + alert = None + try: + alert = self._wait_alert() + # collapse new lines chars + return ' '.join(alert.text.splitlines()) + except WebDriverException: + raise RuntimeError('There were no alerts') + + def _handle_alert(self, confirm=True): + try: + alert = self._wait_alert() + if not confirm: + alert.dismiss() + return False + else: + alert.accept() + return True + except WebDriverException: + raise RuntimeError('There were no alerts') + + def _wait_alert(self): + return WebDriverWait(self._current_browser(), 1).until( + EC.alert_is_present()) diff --git a/src/Selenium2Library/keywords/_browsermanagement.py b/src/Selenium2Library/keywords/_browsermanagement.py index a4fbc7a65..d5f1feb9e 100644 --- a/src/Selenium2Library/keywords/_browsermanagement.py +++ b/src/Selenium2Library/keywords/_browsermanagement.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import import os import robot from robot.errors import DataError @@ -5,7 +6,7 @@ from Selenium2Library import webdrivermonkeypatches from Selenium2Library.utils import BrowserCache from Selenium2Library.locators import WindowManager -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup from selenium.common.exceptions import NoSuchWindowException ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) diff --git a/src/Selenium2Library/keywords/_cookie.py b/src/Selenium2Library/keywords/_cookie.py index a97808f06..ef6029224 100644 --- a/src/Selenium2Library/keywords/_cookie.py +++ b/src/Selenium2Library/keywords/_cookie.py @@ -1,4 +1,5 @@ -from keywordgroup import KeywordGroup +from __future__ import absolute_import +from .keywordgroup import KeywordGroup class _CookieKeywords(KeywordGroup): diff --git a/src/Selenium2Library/keywords/_element.py b/src/Selenium2Library/keywords/_element.py index 357ff1bd5..5c84b4be4 100644 --- a/src/Selenium2Library/keywords/_element.py +++ b/src/Selenium2Library/keywords/_element.py @@ -1,10 +1,11 @@ +from __future__ import absolute_import from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.remote.webelement import WebElement from Selenium2Library import utils from Selenium2Library.locators import ElementFinder from Selenium2Library.locators import CustomLocator -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup try: basestring # attempt to evaluate basestring diff --git a/src/Selenium2Library/keywords/_formelement.py b/src/Selenium2Library/keywords/_formelement.py index 88a3b50ad..6e670b3fb 100644 --- a/src/Selenium2Library/keywords/_formelement.py +++ b/src/Selenium2Library/keywords/_formelement.py @@ -1,5 +1,6 @@ +from __future__ import absolute_import import os -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup from selenium.common.exceptions import WebDriverException class _FormElementKeywords(KeywordGroup): diff --git a/src/Selenium2Library/keywords/_javascript.py b/src/Selenium2Library/keywords/_javascript.py index 8f68025b5..9019e74f3 100644 --- a/src/Selenium2Library/keywords/_javascript.py +++ b/src/Selenium2Library/keywords/_javascript.py @@ -1,5 +1,6 @@ +from __future__ import absolute_import import os -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup class _JavaScriptKeywords(KeywordGroup): diff --git a/src/Selenium2Library/keywords/_logging.py b/src/Selenium2Library/keywords/_logging.py index 4d33d2f7a..2b8a06a29 100644 --- a/src/Selenium2Library/keywords/_logging.py +++ b/src/Selenium2Library/keywords/_logging.py @@ -1,7 +1,8 @@ +from __future__ import absolute_import import os import sys from robot.api import logger -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup from robot.libraries.BuiltIn import BuiltIn try: diff --git a/src/Selenium2Library/keywords/_runonfailure.py b/src/Selenium2Library/keywords/_runonfailure.py index 737e02f91..7cf5aa36b 100644 --- a/src/Selenium2Library/keywords/_runonfailure.py +++ b/src/Selenium2Library/keywords/_runonfailure.py @@ -1,5 +1,6 @@ +from __future__ import absolute_import from robot.libraries import BuiltIn -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup BUILTIN = BuiltIn.BuiltIn() diff --git a/src/Selenium2Library/keywords/_screenshot.py b/src/Selenium2Library/keywords/_screenshot.py index 8e824ccc8..84be4dfc8 100644 --- a/src/Selenium2Library/keywords/_screenshot.py +++ b/src/Selenium2Library/keywords/_screenshot.py @@ -1,8 +1,11 @@ +from __future__ import absolute_import +import errno +import os import robot -import os, errno + from Selenium2Library import utils -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup class _ScreenshotKeywords(KeywordGroup): diff --git a/src/Selenium2Library/keywords/_selectelement.py b/src/Selenium2Library/keywords/_selectelement.py index a89553d84..c8f85df2a 100644 --- a/src/Selenium2Library/keywords/_selectelement.py +++ b/src/Selenium2Library/keywords/_selectelement.py @@ -1,5 +1,6 @@ +from __future__ import absolute_import from selenium.webdriver.support.ui import Select -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup from selenium.common.exceptions import NoSuchElementException diff --git a/src/Selenium2Library/keywords/_tableelement.py b/src/Selenium2Library/keywords/_tableelement.py index 443f9eaa7..67968647a 100644 --- a/src/Selenium2Library/keywords/_tableelement.py +++ b/src/Selenium2Library/keywords/_tableelement.py @@ -1,7 +1,8 @@ +from __future__ import absolute_import import os import sys from Selenium2Library.locators import TableElementFinder -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup class _TableElementKeywords(KeywordGroup): diff --git a/src/Selenium2Library/keywords/_waiting.py b/src/Selenium2Library/keywords/_waiting.py index af36bc871..0183dde24 100644 --- a/src/Selenium2Library/keywords/_waiting.py +++ b/src/Selenium2Library/keywords/_waiting.py @@ -1,6 +1,7 @@ +from __future__ import absolute_import import time import robot -from keywordgroup import KeywordGroup +from .keywordgroup import KeywordGroup class _WaitingKeywords(KeywordGroup): diff --git a/src/Selenium2Library/locators/__init__.py b/src/Selenium2Library/locators/__init__.py index 99bf42307..2b9aed3d4 100644 --- a/src/Selenium2Library/locators/__init__.py +++ b/src/Selenium2Library/locators/__init__.py @@ -1,7 +1,8 @@ -from elementfinder import ElementFinder -from tableelementfinder import TableElementFinder -from windowmanager import WindowManager -from customlocator import CustomLocator +from __future__ import absolute_import +from .elementfinder import ElementFinder +from .tableelementfinder import TableElementFinder +from .windowmanager import WindowManager +from .customlocator import CustomLocator __all__ = [ "ElementFinder", diff --git a/src/Selenium2Library/locators/tableelementfinder.py b/src/Selenium2Library/locators/tableelementfinder.py index 91c4b97c9..8e6089558 100644 --- a/src/Selenium2Library/locators/tableelementfinder.py +++ b/src/Selenium2Library/locators/tableelementfinder.py @@ -1,6 +1,7 @@ +from __future__ import absolute_import from selenium.common.exceptions import NoSuchElementException from Selenium2Library import utils -from elementfinder import ElementFinder +from .elementfinder import ElementFinder class TableElementFinder(object): diff --git a/src/Selenium2Library/utils/__init__.py b/src/Selenium2Library/utils/__init__.py index 042d053e3..118e2d2f1 100644 --- a/src/Selenium2Library/utils/__init__.py +++ b/src/Selenium2Library/utils/__init__.py @@ -1,8 +1,9 @@ +from __future__ import absolute_import import os from fnmatch import fnmatch -from browsercache import BrowserCache -from librarylistener import LibraryListener -import events +from .browsercache import BrowserCache +from .librarylistener import LibraryListener +from . import events __all__ = [ "get_child_packages_in", diff --git a/src/Selenium2Library/utils/events/__init__.py b/src/Selenium2Library/utils/events/__init__.py index 58da7a7b5..0c0831ea6 100644 --- a/src/Selenium2Library/utils/events/__init__.py +++ b/src/Selenium2Library/utils/events/__init__.py @@ -1,4 +1,5 @@ -from scope_event import ScopeStart, ScopeEnd +from __future__ import absolute_import +from .scope_event import ScopeStart, ScopeEnd _registered_events = [ ScopeStart, ScopeEnd ] _events = [] diff --git a/src/Selenium2Library/utils/events/scope_event.py b/src/Selenium2Library/utils/events/scope_event.py index 5e2913221..b2c3dfdc4 100644 --- a/src/Selenium2Library/utils/events/scope_event.py +++ b/src/Selenium2Library/utils/events/scope_event.py @@ -1,4 +1,5 @@ -from event import Event +from __future__ import absolute_import +from .event import Event from robot.libraries.BuiltIn import BuiltIn class ScopeEvent(Event): diff --git a/src/Selenium2Library/utils/librarylistener.py b/src/Selenium2Library/utils/librarylistener.py index cb046145f..818f4a863 100644 --- a/src/Selenium2Library/utils/librarylistener.py +++ b/src/Selenium2Library/utils/librarylistener.py @@ -1,4 +1,5 @@ -import events as event +from __future__ import absolute_import +from . import events as event from robot.api import logger class LibraryListener(object): diff --git a/src/Selenium2Library/version.py b/src/Selenium2Library/version.py index bc1888c31..5e2481568 100644 --- a/src/Selenium2Library/version.py +++ b/src/Selenium2Library/version.py @@ -1 +1 @@ -VERSION = '1.8.0' +VERSION = '1.8.0' diff --git a/src/Selenium2Library/webdrivermonkeypatches.py b/src/Selenium2Library/webdrivermonkeypatches.py index 53d7e7de5..2db72eb9f 100644 --- a/src/Selenium2Library/webdrivermonkeypatches.py +++ b/src/Selenium2Library/webdrivermonkeypatches.py @@ -1,7 +1,8 @@ +from __future__ import absolute_import import time from robot import utils from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver -from locators import WindowManager +from .locators import WindowManager class WebDriverMonkeyPatches: diff --git a/test/lib/mockito/__init__.py b/test/lib/mockito/__init__.py index 3a3c29bce..128b3101f 100644 --- a/test/lib/mockito/__init__.py +++ b/test/lib/mockito/__init__.py @@ -1,27 +1,31 @@ #!/usr/bin/env python # coding: utf-8 -'''Mockito is a Test Spy framework.''' +"""Mockito is a Test Spy framework.""" +from __future__ import absolute_import +from .mockito import mock, verify, verifyNoMoreInteractions, \ + verifyZeroInteractions, when, unstub, ArgumentError +from . import inorder +from .spying import spy +from .verification import VerificationError + +# Imports for compatibility +from .mocking import Mock +from .matchers import any, contains, times # use package import +# (``from mockito.matchers import any, contains``) +# instead of ``from mockito import any, contains`` +from .verification import never __copyright__ = "Copyright 2008-2010, Mockito Contributors" __license__ = "MIT" __maintainer__ = "Mockito Maintainers" __email__ = "mockito-python@googlegroups.com" - -from mockito import mock, verify, verifyNoMoreInteractions, verifyZeroInteractions, when, unstub, ArgumentError -import inorder -from spying import spy -from verification import VerificationError - -# Imports for compatibility -from mocking import Mock -from matchers import any, contains, times # use package import (``from mockito.matchers import any, contains``) instead of ``from mockito import any, contains`` -from verification import never - -__all__ = ['mock', 'spy', 'verify', 'verifyNoMoreInteractions', 'verifyZeroInteractions', 'inorder', 'when', 'unstub', 'VerificationError', 'ArgumentError', - 'Mock', # deprecated - 'any', # compatibility - 'contains', # compatibility - 'never', # compatibility - 'times' # deprecated +__all__ = ['mock', 'spy', 'verify', 'verifyNoMoreInteractions', + 'verifyZeroInteractions', 'inorder', 'when', 'unstub', + 'VerificationError', 'ArgumentError', + 'Mock', # deprecated + 'any', # compatibility + 'contains', # compatibility + 'never', # compatibility + 'times' # deprecated ] diff --git a/test/lib/mockito/inorder.py b/test/lib/mockito/inorder.py index 8c9d801d0..0176ab39a 100644 --- a/test/lib/mockito/inorder.py +++ b/test/lib/mockito/inorder.py @@ -1,7 +1,8 @@ #!/usr/bin/env python3 # coding: utf-8 -from mockito import verify as verify_main +from __future__ import absolute_import +from .mockito import verify as verify_main __author__ = "Serhiy Oplakanets " __copyright__ = "Copyright 2008-2010, Mockito Contributors" diff --git a/test/lib/mockito/invocation.py b/test/lib/mockito/invocation.py index 159a56863..8b39981e1 100644 --- a/test/lib/mockito/invocation.py +++ b/test/lib/mockito/invocation.py @@ -1,7 +1,11 @@ #!/usr/bin/env python # coding: utf-8 -import matchers +from __future__ import absolute_import +#!/usr/bin/env python +# coding: utf-8 + +from . import matchers __copyright__ = "Copyright 2008-2010, Mockito Contributors" __license__ = "MIT" diff --git a/test/lib/mockito/mocking.py b/test/lib/mockito/mocking.py index 9539ddd62..6c22e6ed1 100644 --- a/test/lib/mockito/mocking.py +++ b/test/lib/mockito/mocking.py @@ -1,9 +1,10 @@ #!/usr/bin/env python # coding: utf-8 +from __future__ import absolute_import import inspect -import invocation -from mock_registry import mock_registry +from . import invocation +from .mock_registry import mock_registry import warnings __copyright__ = "Copyright 2008-2010, Mockito Contributors" diff --git a/test/lib/mockito/mockito.py b/test/lib/mockito/mockito.py index 50f820021..7c057f318 100644 --- a/test/lib/mockito/mockito.py +++ b/test/lib/mockito/mockito.py @@ -1,10 +1,14 @@ #!/usr/bin/env python # coding: utf-8 -import verification -from mocking import mock, TestDouble -from mock_registry import mock_registry -from verification import VerificationError +from __future__ import absolute_import +#!/usr/bin/env python +# coding: utf-8 + +from . import verification +from .mocking import mock, TestDouble +from .mock_registry import mock_registry +from .verification import VerificationError __copyright__ = "Copyright 2008-2010, Mockito Contributors" __license__ = "MIT" diff --git a/test/lib/mockito/spying.py b/test/lib/mockito/spying.py index fcb3ded30..1160fa1ba 100644 --- a/test/lib/mockito/spying.py +++ b/test/lib/mockito/spying.py @@ -2,9 +2,10 @@ # coding: utf-8 '''Spying on real objects.''' +from __future__ import absolute_import -from invocation import RememberedProxyInvocation, VerifiableInvocation -from mocking import TestDouble +from .invocation import RememberedProxyInvocation, VerifiableInvocation +from .mocking import TestDouble __author__ = "Serhiy Oplakanets " __copyright__ = "Copyright 2009-2010, Mockito Contributors" diff --git a/test/run_unit_tests.py b/test/run_unit_tests.py index 3b5a0399f..02e1a7073 100755 --- a/test/run_unit_tests.py +++ b/test/run_unit_tests.py @@ -1,8 +1,9 @@ import env -import os, sys +import sys import unittest from Selenium2Library import utils + def run_unit_tests(modules_to_run=[]): (test_module_names, test_modules) = utils.import_modules_under( env.UNIT_TEST_DIR, include_root_package_name = False, pattern="test*.py")