1# -*- coding: utf-8 -*- 2# Copyright 2011 Takeshi KOMIYA 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16from blockdiag.parser import ParseException 17from blockdiag.tests.utils import BuilderTestCase 18 19 20class TestBuilderError(BuilderTestCase): 21 def test_unknown_diagram_default_shape_diagram(self): 22 filename = 'errors/unknown_diagram_default_shape.diag' 23 with self.assertRaises(AttributeError): 24 self.build(filename) 25 26 def test_unknown_diagram_edge_layout_diagram(self): 27 filename = 'errors/unknown_diagram_edge_layout.diag' 28 with self.assertRaises(AttributeError): 29 self.build(filename) 30 31 def test_unknown_diagram_orientation_diagram(self): 32 filename = 'errors/unknown_diagram_orientation.diag' 33 with self.assertRaises(AttributeError): 34 self.build(filename) 35 36 def test_unknown_node_shape_diagram(self): 37 filename = 'errors/unknown_node_shape.diag' 38 with self.assertRaises(AttributeError): 39 self.build(filename) 40 41 def test_unknown_node_attribute_diagram(self): 42 filename = 'errors/unknown_node_attribute.diag' 43 with self.assertRaises(AttributeError): 44 self.build(filename) 45 46 def test_unknown_node_style_diagram(self): 47 filename = 'errors/unknown_node_style.diag' 48 with self.assertRaises(AttributeError): 49 self.build(filename) 50 51 def test_unknown_node_class_diagram(self): 52 filename = 'errors/unknown_node_class.diag' 53 with self.assertRaises(AttributeError): 54 self.build(filename) 55 56 def test_unknown_edge_dir_diagram(self): 57 filename = 'errors/unknown_edge_dir.diag' 58 with self.assertRaises(AttributeError): 59 self.build(filename) 60 61 def test_unknown_edge_style_diagram(self): 62 filename = 'errors/unknown_edge_style.diag' 63 with self.assertRaises(AttributeError): 64 self.build(filename) 65 66 def test_unknown_edge_hstyle_diagram(self): 67 filename = 'errors/unknown_edge_hstyle.diag' 68 with self.assertRaises(AttributeError): 69 self.build(filename) 70 71 def test_unknown_edge_class_diagram(self): 72 filename = 'errors/unknown_edge_class.diag' 73 with self.assertRaises(AttributeError): 74 self.build(filename) 75 76 def test_unknown_group_shape_diagram(self): 77 filename = 'errors/unknown_group_shape.diag' 78 with self.assertRaises(AttributeError): 79 self.build(filename) 80 81 def test_unknown_group_class_diagram(self): 82 filename = 'errors/unknown_group_class.diag' 83 with self.assertRaises(AttributeError): 84 self.build(filename) 85 86 def test_unknown_group_orientation_diagram(self): 87 filename = 'errors/unknown_group_orientation.diag' 88 with self.assertRaises(AttributeError): 89 self.build(filename) 90 91 def test_belongs_to_two_groups_diagram(self): 92 filename = 'errors/belongs_to_two_groups.diag' 93 with self.assertRaises(RuntimeError): 94 self.build(filename) 95 96 def test_unknown_plugin_diagram(self): 97 filename = 'errors/unknown_plugin.diag' 98 with self.assertRaises(AttributeError): 99 self.build(filename) 100 101 def test_node_follows_group_diagram(self): 102 filename = 'errors/node_follows_group.diag' 103 with self.assertRaises(ParseException): 104 self.build(filename) 105 106 def test_group_follows_node_diagram(self): 107 filename = 'errors/group_follows_node.diag' 108 with self.assertRaises(ParseException): 109 self.build(filename) 110 111 def test_unknown_diagram_type(self): 112 filename = 'errors/unknown_diagram_type.diag' 113 with self.assertRaises(ParseException): 114 self.build(filename) 115 116 def test_lexer_error_diagram(self): 117 filename = 'errors/lexer_error.diag' 118 with self.assertRaises(ParseException): 119 self.build(filename) 120