mirror of
https://github.com/esphome/esphome.git
synced 2025-09-02 11:22:24 +01:00
Feature/fix unit tests (#1129)
This commit is contained in:
@@ -7,12 +7,12 @@ from esphome import helpers
|
||||
|
||||
|
||||
@pytest.mark.parametrize("preferred_string, current_strings, expected", (
|
||||
("foo", [], "foo"),
|
||||
# TODO: Should this actually start at 1?
|
||||
("foo", ["foo"], "foo_2"),
|
||||
("foo", ("foo",), "foo_2"),
|
||||
("foo", ("foo", "foo_2"), "foo_3"),
|
||||
("foo", ("foo", "foo_2", "foo_2"), "foo_3"),
|
||||
("foo", [], "foo"),
|
||||
# TODO: Should this actually start at 1?
|
||||
("foo", ["foo"], "foo_2"),
|
||||
("foo", ("foo",), "foo_2"),
|
||||
("foo", ("foo", "foo_2"), "foo_3"),
|
||||
("foo", ("foo", "foo_2", "foo_2"), "foo_3"),
|
||||
))
|
||||
def test_ensure_unique_string(preferred_string, current_strings, expected):
|
||||
actual = helpers.ensure_unique_string(preferred_string, current_strings)
|
||||
@@ -21,9 +21,9 @@ def test_ensure_unique_string(preferred_string, current_strings, expected):
|
||||
|
||||
|
||||
@pytest.mark.parametrize("text, expected", (
|
||||
("foo", "foo"),
|
||||
("foo\nbar", "foo\nbar"),
|
||||
("foo\nbar\neek", "foo\n bar\neek"),
|
||||
("foo", "foo"),
|
||||
("foo\nbar", "foo\nbar"),
|
||||
("foo\nbar\neek", "foo\n bar\neek"),
|
||||
))
|
||||
def test_indent_all_but_first_and_last(text, expected):
|
||||
actual = helpers.indent_all_but_first_and_last(text)
|
||||
@@ -32,9 +32,9 @@ def test_indent_all_but_first_and_last(text, expected):
|
||||
|
||||
|
||||
@pytest.mark.parametrize("text, expected", (
|
||||
("foo", [" foo"]),
|
||||
("foo\nbar", [" foo", " bar"]),
|
||||
("foo\nbar\neek", [" foo", " bar", " eek"]),
|
||||
("foo", [" foo"]),
|
||||
("foo\nbar", [" foo", " bar"]),
|
||||
("foo\nbar\neek", [" foo", " bar", " eek"]),
|
||||
))
|
||||
def test_indent_list(text, expected):
|
||||
actual = helpers.indent_list(text)
|
||||
@@ -43,9 +43,9 @@ def test_indent_list(text, expected):
|
||||
|
||||
|
||||
@pytest.mark.parametrize("text, expected", (
|
||||
("foo", " foo"),
|
||||
("foo\nbar", " foo\n bar"),
|
||||
("foo\nbar\neek", " foo\n bar\n eek"),
|
||||
("foo", " foo"),
|
||||
("foo\nbar", " foo\n bar"),
|
||||
("foo\nbar\neek", " foo\n bar\n eek"),
|
||||
))
|
||||
def test_indent(text, expected):
|
||||
actual = helpers.indent(text)
|
||||
@@ -54,11 +54,11 @@ def test_indent(text, expected):
|
||||
|
||||
|
||||
@pytest.mark.parametrize("string, expected", (
|
||||
("foo", '"foo"'),
|
||||
("foo\nbar", '"foo\\012bar"'),
|
||||
("foo\\bar", '"foo\\134bar"'),
|
||||
('foo "bar"', '"foo \\042bar\\042"'),
|
||||
('foo 🐍', '"foo \\360\\237\\220\\215"'),
|
||||
("foo", '"foo"'),
|
||||
("foo\nbar", '"foo\\012bar"'),
|
||||
("foo\\bar", '"foo\\134bar"'),
|
||||
('foo "bar"', '"foo \\042bar\\042"'),
|
||||
('foo 🐍', '"foo \\360\\237\\220\\215"'),
|
||||
))
|
||||
def test_cpp_string_escape(string, expected):
|
||||
actual = helpers.cpp_string_escape(string)
|
||||
@@ -83,11 +83,11 @@ def test_is_ip_address__valid(value):
|
||||
|
||||
|
||||
@pytest.mark.parametrize("var, value, default, expected", (
|
||||
("FOO", None, False, False),
|
||||
("FOO", None, True, True),
|
||||
("FOO", "", False, False),
|
||||
("FOO", "Yes", False, True),
|
||||
("FOO", "123", False, True),
|
||||
("FOO", None, False, False),
|
||||
("FOO", None, True, True),
|
||||
("FOO", "", False, False),
|
||||
("FOO", "Yes", False, True),
|
||||
("FOO", "123", False, True),
|
||||
))
|
||||
def test_get_bool_env(monkeypatch, var, value, default, expected):
|
||||
if value is None:
|
||||
@@ -101,8 +101,8 @@ def test_get_bool_env(monkeypatch, var, value, default, expected):
|
||||
|
||||
|
||||
@pytest.mark.parametrize("value, expected", (
|
||||
(None, False),
|
||||
("Yes", True)
|
||||
(None, False),
|
||||
("Yes", True)
|
||||
))
|
||||
def test_is_hassio(monkeypatch, value, expected):
|
||||
if value is None:
|
||||
@@ -121,7 +121,7 @@ def test_walk_files(fixture_path):
|
||||
actual = list(helpers.walk_files(path))
|
||||
|
||||
# Ensure paths start with the root
|
||||
assert all(p.startswith(path.as_posix()) for p in actual)
|
||||
assert all(p.startswith(str(path)) for p in actual)
|
||||
|
||||
|
||||
class Test_write_file_if_changed:
|
||||
@@ -186,18 +186,18 @@ class Test_copy_file_if_changed:
|
||||
|
||||
|
||||
@pytest.mark.parametrize("file1, file2, expected", (
|
||||
# Same file
|
||||
("file-a.txt", "file-a.txt", True),
|
||||
# Different files, different size
|
||||
("file-a.txt", "file-b_1.txt", False),
|
||||
# Different files, same size
|
||||
("file-a.txt", "file-c.txt", False),
|
||||
# Same files
|
||||
("file-b_1.txt", "file-b_2.txt", True),
|
||||
# Not a file
|
||||
("file-a.txt", "", False),
|
||||
# File doesn't exist
|
||||
("file-a.txt", "file-d.txt", False),
|
||||
# Same file
|
||||
("file-a.txt", "file-a.txt", True),
|
||||
# Different files, different size
|
||||
("file-a.txt", "file-b_1.txt", False),
|
||||
# Different files, same size
|
||||
("file-a.txt", "file-c.txt", False),
|
||||
# Same files
|
||||
("file-b_1.txt", "file-b_2.txt", True),
|
||||
# Not a file
|
||||
("file-a.txt", "", False),
|
||||
# File doesn't exist
|
||||
("file-a.txt", "file-d.txt", False),
|
||||
))
|
||||
def test_file_compare(fixture_path, file1, file2, expected):
|
||||
path1 = fixture_path / "helpers" / file1
|
||||
|
Reference in New Issue
Block a user