File pytest.patch of Package python-dukpy

From 98ca8e72e55b576331c55531a6e09d61b2435540 Mon Sep 17 00:00:00 2001
From: Alessandro Molina <amol@turbogears.org>
Date: Wed, 28 Nov 2018 23:21:30 +0100
Subject: [PATCH] Move to pytest

---
 .travis.yml                                   |  4 +--
 appveyor.yml                                  | 10 +-----
 dukpy/evaljs.py                               |  2 +-
 dukpy/install.py                              |  2 +-
 setup.py                                      |  5 ++-
 tests/{tests_evaljs.py => test_evaljs.py}     |  3 +-
 tests/test_installer.py                       | 35 ++++++++-----------
 ...jsinterpreter.py => test_jsinterpreter.py} | 11 +++---
 tests/test_reactjs.py                         |  4 ++-
 tests/test_transpilers.py                     | 11 +++---
 10 files changed, 34 insertions(+), 53 deletions(-)
 rename tests/{tests_evaljs.py => test_evaljs.py} (95%)
 rename tests/{tests_jsinterpreter.py => test_jsinterpreter.py} (85%)

diff --git a/dukpy/evaljs.py b/dukpy/evaljs.py
index 851347e..4235b5d 100644
--- a/dukpy/evaljs.py
+++ b/dukpy/evaljs.py
@@ -8,7 +8,7 @@
 
 try:
     from collections.abc import Iterable
-except ImportError:
+except ImportError:   # pragma: no cover
     from collections import Iterable
 
 try:  # pragma: no cover
diff --git a/dukpy/install.py b/dukpy/install.py
index f8545e8..2c7c019 100644
--- a/dukpy/install.py
+++ b/dukpy/install.py
@@ -14,7 +14,7 @@
 try:
     from urllib.request import urlopen
     from urllib.parse import quote_plus
-except ImportError:
+except ImportError:  # pragma: no cover
     from urllib2 import urlopen
     from urllib import quote_plus
 
--- a/tests/tests_evaljs.py
+++ b/tests/tests_evaljs.py
@@ -1,13 +1,14 @@
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
+import unittest
 import logging
 import os
 import dukpy
 import mock
 
 
-class TestEvalJS(object):
+class TestEvalJS(unittest.TestCase):
     def test_object_return(self):
         ans = dukpy.evaljs(["var o = {'value': 5}",
                             "o['value'] += 3",
diff --git a/tests/test_installer.py b/tests/test_installer.py
index 855ed0f..3a1b48c 100644
--- a/tests/test_installer.py
+++ b/tests/test_installer.py
@@ -2,18 +2,17 @@
 import os
 import shutil
 import tempfile
+import unittest
 
 import sys
 import mock
-from nose import SkipTest
-from nose.tools import raises
 
 import dukpy
 from dukpy import install as dukpy_install
 
 
-class TestPackageInstaller(object):
-    def setup(self):
+class TestPackageInstaller(unittest.TestCase):
+    def setUp(self):
         self.tmpdir = tempfile.mkdtemp()
 
     def tearDown(self):
@@ -41,14 +40,14 @@ def test_install_command_latest_ver(self):
             dukpy_install.main()
         assert os.path.exists(os.path.join(self.tmpdir, 'react'))
 
-    @raises(SystemExit)
     def test_install_command_missing_args(self):
-        with mock.patch.object(sys, 'argv', ['dukpy-install']):
-            dukpy_install.main()
+        with self.assertRaises(SystemExit):
+            with mock.patch.object(sys, 'argv', ['dukpy-install']):
+                dukpy_install.main()
 
     def test_install_command_without_dest(self):
         if os.path.exists('./js_modules'):
-            raise SkipTest('local destination directory already exists...')
+            self.skipTest('local destination directory already exists...')
 
         with mock.patch.object(sys, 'argv', ['dukpy-install', 'react', '0.14.8']):
             dukpy_install.main()
@@ -65,29 +64,23 @@ def test_install_command_substrate_error(self):
             assert dukpy_install.main() == 2
 
     def test_install_unexisting_package(self):
-        try:
+        with self.assertRaises(Exception) as err:
             dukpy.install_jspackage('non_existing_suerly_missing_dunno', '1', self.tmpdir)
-        except:
-            pass
-        else:
-            assert False, 'Should have not found exception'
+        assert 'Not Found' in str(err.exception)
 
-    @raises(dukpy_install.JSPackageInstallError)
     def test_install_unexisting_version(self):
-        dukpy.install_jspackage('react', '9999', self.tmpdir)
+        with self.assertRaises(dukpy_install.JSPackageInstallError):
+            dukpy.install_jspackage('react', '9999', self.tmpdir)
 
-    @raises(dukpy_install.JSPackageInstallError)
     def test_install_missing_download_url(self):
         with mock.patch('dukpy.install._fetch_package_info',
                         new=lambda *args: {'versions': {'99.9.9': {}}}):
-            try:
+            with self.assertRaises(dukpy_install.JSPackageInstallError) as err:
                 dukpy.install_jspackage('react', '99.9.9', self.tmpdir)
-            except Exception as e:
-                assert 'Unable to detect a supported download url' in str(e), str(e)
-                raise
+                assert 'Unable to detect a supported download url' in str(err.exception)
 
 
-class TestVersionResolver(object):
+class TestVersionResolver(unittest.TestCase):
     VERSIONS = {"0.14.5": {}, "0.13.0-rc2": {}, "0.13.0-rc1": {}, "0.14.0-beta3": {}, "0.2.6": {},
                 "0.2.5": {}, "0.2.4": {}, "0.2.3": {}, "0.2.2": {}, "0.2.1": {}, "0.2.0": {},
                 "0.1.2": {}, "0.3.5": {}, "0.10.0-rc1": {}, "0.14.0": {}, "0.10.0": {},
diff --git a/tests/tests_jsinterpreter.py b/tests/test_jsinterpreter.py
index 0e341b2..75cda70 100644
--- a/tests/tests_jsinterpreter.py
+++ b/tests/tests_jsinterpreter.py
@@ -1,10 +1,12 @@
+import unittest
+
 from dukpy._dukpy import JSRuntimeError
 
 import dukpy
 from diffreport import report_diff
 
 
-class TestJSInterpreter(object):
+class TestJSInterpreter(unittest.TestCase):
     def test_interpreter_keeps_context(self):
         interpreter = dukpy.JSInterpreter()
         ans = interpreter.evaljs("var o = {'value': 5}; o")
@@ -36,9 +38,6 @@ def test_module_loader(self):
     def test_module_loader_unexisting(self):
         interpreter = dukpy.JSInterpreter()
 
-        try:
+        with self.assertRaises(JSRuntimeError) as err:
             interpreter.evaljs("require('missing_module');")
-        except JSRuntimeError as e:
-            assert 'cannot find module: missing_module' in str(e)
-        else:
-            assert False, 'should have raised'
\ No newline at end of file
+        assert 'cannot find module: missing_module' in str(err.exception)
diff --git a/tests/test_reactjs.py b/tests/test_reactjs.py
index 3b904dc..76759fe 100644
--- a/tests/test_reactjs.py
+++ b/tests/test_reactjs.py
@@ -1,8 +1,10 @@
 # -*- coding: utf-8 -*-
+import unittest
+
 import dukpy
 
 
-class TestReactJS(object):
+class TestReactJS(unittest.TestCase):
     def test_hello_world(self):
         jsx = dukpy.jsx_compile('var react_hello = <h1>Hello, world!</h1>;')
         jsi = dukpy.JSInterpreter()
diff --git a/tests/test_transpilers.py b/tests/test_transpilers.py
index f538c59..b9e383c 100644
--- a/tests/test_transpilers.py
+++ b/tests/test_transpilers.py
@@ -1,13 +1,13 @@
 # -*- coding: utf-8 -*-
 import os
-from unittest import TestCase
+import unittest
 
 import dukpy
 from diffreport import report_diff
 from dukpy.lessc import LessCompilerError
 
 
-class TestTranspilers(TestCase):
+class TestTranspilers(unittest.TestCase):
     def test_coffee(self):
         ans = dukpy.coffee_compile('''
     fill = (container, liquid = "coffee") ->
@@ -131,9 +131,6 @@ def test_less(self):
         assert expected in ans, report_diff(expected, ans)
 
     def test_less_errors(self):
-        try:
+        with self.assertRaises(LessCompilerError) as err:
             dukpy.less_compile('@import "files/missing.less";')
-        except LessCompilerError as e:
-            assert "files/missing.less' wasn't found." in str(e)
-        else:
-            assert False, 'Exception not raised'
\ No newline at end of file
+        assert "files/missing.less' wasn't found." in str(err.exception)