diff options
author | cpopa <devnull@localhost> | 2013-09-03 21:29:04 +0300 |
---|---|---|
committer | cpopa <devnull@localhost> | 2013-09-03 21:29:04 +0300 |
commit | cf41506b5b6f8545cdb8ffe91b24cce2f686c729 (patch) | |
tree | 62d20c335484f94939f8b4073ab32dccc81108a2 | |
parent | 1e550f0a69056af336eb40e9b2a31496e7b784d5 (diff) | |
download | pylint-cf41506b5b6f8545cdb8ffe91b24cce2f686c729.tar.gz |
Add specific tests for Python 2 and 3.
-rw-r--r-- | test/input/func_non_iterator_returned_py30.py | 52 | ||||
-rw-r--r-- | test/input/func_non_iterator_returned_py_30.py (renamed from test/input/func_non_iterator_returned.py) | 0 | ||||
-rw-r--r-- | test/messages/func_non_iterator_returned_py30.txt (renamed from test/messages/func_non_iterator_returned.txt) | 2 | ||||
-rw-r--r-- | test/messages/func_non_iterator_returned_py_30.txt | 3 |
4 files changed, 56 insertions, 1 deletions
diff --git a/test/input/func_non_iterator_returned_py30.py b/test/input/func_non_iterator_returned_py30.py new file mode 100644 index 0000000..fb47fae --- /dev/null +++ b/test/input/func_non_iterator_returned_py30.py @@ -0,0 +1,52 @@ +"""Check non-iterators returned by __iter__ """
+
+# pylint: disable-msg=too-few-public-methods
+
+__revision__ = 0
+
+class FirstGoodIterator(object):
+ """ yields in iterator. """
+
+ def __iter__(self):
+ for index in range(10):
+ yield index
+
+class SecondGoodIterator(object):
+ """ __iter__ and next """
+
+ def __iter__(self):
+ return self
+
+ def __next__(self): # pylint: disable-msg=no-self-use
+ """ Infinite iterator, but still an iterator """
+ return 1
+
+class ThirdGoodIterator(object):
+ """ Returns other iterator, not the current instance """
+
+ def __iter__(self):
+ return SecondGoodIterator()
+
+class FourthGoodIterator(object):
+ """ __iter__ returns iter(...) """
+
+ def __iter__(self):
+ return iter(range(10))
+
+class FirstBadIterator(object):
+ """ __iter__ returns a list """
+
+ def __iter__(self):
+ return []
+
+class SecondBadIterator(object):
+ """ __iter__ without next """
+
+ def __iter__(self):
+ return self
+
+class ThirdBadIterator(object):
+ """ __iter__ returns an instance of another non-iterator """
+
+ def __iter__(self):
+ return SecondBadIterator()
diff --git a/test/input/func_non_iterator_returned.py b/test/input/func_non_iterator_returned_py_30.py index 85a61c2..85a61c2 100644 --- a/test/input/func_non_iterator_returned.py +++ b/test/input/func_non_iterator_returned_py_30.py diff --git a/test/messages/func_non_iterator_returned.txt b/test/messages/func_non_iterator_returned_py30.txt index 821527c..e6f9df1 100644 --- a/test/messages/func_non_iterator_returned.txt +++ b/test/messages/func_non_iterator_returned_py30.txt @@ -1,3 +1,3 @@ W: 39:FirstBadIterator.__iter__: __iter__ returns non-iterator
W: 45:SecondBadIterator.__iter__: __iter__ returns non-iterator
-W: 51:ThirdBadIterator.__iter__: __iter__ returns non-iterator
+W: 51:ThirdBadIterator.__iter__: __iter__ returns non-iterator
\ No newline at end of file diff --git a/test/messages/func_non_iterator_returned_py_30.txt b/test/messages/func_non_iterator_returned_py_30.txt new file mode 100644 index 0000000..e6f9df1 --- /dev/null +++ b/test/messages/func_non_iterator_returned_py_30.txt @@ -0,0 +1,3 @@ +W: 39:FirstBadIterator.__iter__: __iter__ returns non-iterator
+W: 45:SecondBadIterator.__iter__: __iter__ returns non-iterator
+W: 51:ThirdBadIterator.__iter__: __iter__ returns non-iterator
\ No newline at end of file |