From 181503c509c094cfaad5596cbfbea27323cf18d3 Mon Sep 17 00:00:00 2001 From: tessier Date: Mon, 20 Jul 2020 18:09:07 +0900 Subject: [PATCH] fix(diagrams): Set a dummy filename to prevent raise error when both name and filename are not provided(#203) --- diagrams/__init__.py | 5 +++-- tests/test_diagram.py | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/diagrams/__init__.py b/diagrams/__init__.py index 301dbcfc..5c82aeb3 100644 --- a/diagrams/__init__.py +++ b/diagrams/__init__.py @@ -101,8 +101,9 @@ class Diagram: :param edge_attr: Provide edge_attr dot config attributes. """ self.name = name - - if not filename: + if not name and not filename: + filename = "diagrams_file" + elif not filename: filename = "_".join(self.name.split()).lower() self.filename = filename self.dot = Digraph(self.name, filename=self.filename) diff --git a/tests/test_diagram.py b/tests/test_diagram.py index fd8abc25..134d9312 100644 --- a/tests/test_diagram.py +++ b/tests/test_diagram.py @@ -100,6 +100,13 @@ class DiagramTest(unittest.TestCase): Node("node1") self.assertTrue(os.path.exists(f"{self.name}.png")) + def test_empty_name(self): + """Check that providing an empty name don't crash, but save in a diagrams_file.xxx file.""" + self.name = 'diagrams_file' + with Diagram(show=False): + Node("node1") + self.assertTrue(os.path.exists(f"diagrams_file.png")) + class ClusterTest(unittest.TestCase): def setUp(self):