summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniƫl van Noord <13665637+DanielNoord@users.noreply.github.com>2021-09-01 08:43:42 +0200
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2021-09-01 09:10:11 +0200
commit832db06b0493784f308a2d77c9365f5ad7156033 (patch)
tree17fa5453c16934fafeb4a2c7b55ba1ed58333ee4 /tests
parent5f96098d658fd9c1b59c5f1675033485e1b3bad0 (diff)
downloadpylint-git-832db06b0493784f308a2d77c9365f5ad7156033.tar.gz
Extend ``unspecified-encoding`` checker
The ``unspecified-encoding`` checker now also checks calls to ``pathlib.Path().read_text()`` and ``pathlib.Path().write_text()`` This closes #4945
Diffstat (limited to 'tests')
-rw-r--r--tests/functional/u/unspecified_encoding_py38.py19
-rw-r--r--tests/functional/u/unspecified_encoding_py38.txt36
2 files changed, 40 insertions, 15 deletions
diff --git a/tests/functional/u/unspecified_encoding_py38.py b/tests/functional/u/unspecified_encoding_py38.py
index 20d2d7be1..1b3ae3795 100644
--- a/tests/functional/u/unspecified_encoding_py38.py
+++ b/tests/functional/u/unspecified_encoding_py38.py
@@ -2,6 +2,7 @@
# pylint: disable=consider-using-with
import io
import locale
+from pathlib import Path
FILENAME = "foo.bar"
open(FILENAME, "w", encoding="utf-8")
@@ -53,3 +54,21 @@ with io.open(FILENAME, encoding=None) as f: # [unspecified-encoding]
LOCALE_ENCODING = None
with io.open(FILENAME, encoding=LOCALE_ENCODING) as f: # [unspecified-encoding]
pass
+
+LOCALE_ENCODING = locale.getlocale()[1]
+Path(FILENAME).read_text(encoding=LOCALE_ENCODING)
+Path(FILENAME).read_text(encoding="utf8")
+
+LOCALE_ENCODING = None
+Path(FILENAME).read_text() # [unspecified-encoding]
+Path(FILENAME).read_text(encoding=None) # [unspecified-encoding]
+Path(FILENAME).read_text(encoding=LOCALE_ENCODING) # [unspecified-encoding]
+
+LOCALE_ENCODING = locale.getlocale()[1]
+Path(FILENAME).write_text("string", encoding=LOCALE_ENCODING)
+Path(FILENAME).write_text("string", encoding="utf8")
+
+LOCALE_ENCODING = None
+Path(FILENAME).write_text("string") # [unspecified-encoding]
+Path(FILENAME).write_text("string", encoding=None) # [unspecified-encoding]
+Path(FILENAME).write_text("string", encoding=LOCALE_ENCODING) # [unspecified-encoding]
diff --git a/tests/functional/u/unspecified_encoding_py38.txt b/tests/functional/u/unspecified_encoding_py38.txt
index cde7f2238..45bf15f5a 100644
--- a/tests/functional/u/unspecified_encoding_py38.txt
+++ b/tests/functional/u/unspecified_encoding_py38.txt
@@ -1,15 +1,21 @@
-unspecified-encoding:10:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:11:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:12:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:13:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:14:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:23:5::"Using open without explicitly specifying an encoding"
-unspecified-encoding:26:5::"Using open without explicitly specifying an encoding"
-unspecified-encoding:30:5::"Using open without explicitly specifying an encoding"
-unspecified-encoding:35:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:36:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:37:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:38:0::"Using open without explicitly specifying an encoding"
-unspecified-encoding:47:5::"Using open without explicitly specifying an encoding"
-unspecified-encoding:50:5::"Using open without explicitly specifying an encoding"
-unspecified-encoding:54:5::"Using open without explicitly specifying an encoding"
+unspecified-encoding:11:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:12:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:13:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:14:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:15:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:24:5::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:27:5::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:31:5::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:36:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:37:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:38:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:39:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:48:5::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:51:5::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:55:5::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:63:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:64:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:65:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:72:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:73:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:74:0::Using open without explicitly specifying an encoding:HIGH