Example #1
0
 def test_no_properties(self):
     text = r"""
     <aaa>
     </aaa>"""
     node = ET.fromstring(text)
     res = tmx_get_properties(node, "")
     assert res == (None, None)
Example #2
0
 def test_empty_properties(self):
     text = r"""
     <aaa>
      <properties>
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     res = tmx_get_properties(node, "")
     assert len(res[0]) == 0 and len(res[1]) == 0
Example #3
0
 def test_color_type__bad_value(self):
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="color" value="1z"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     with pytest.raises(TmxPropertyValueError) as excinfo:
         d, dtypes = tmx_get_properties(node, "")
     assert "color property" in str(excinfo.value)
Example #4
0
 def test_color_type__good_value(self):
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="color" value="#FF010203"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     d, dtypes = tmx_get_properties(node, "")
     assert len(d) == 1 and len(dtypes) == 1
     assert d["the_name"] == (1, 2, 3, 255)
     assert dtypes["the_name"] == "color"
Example #5
0
 def test_float_type__good_value(self):
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="float" value="1.23"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     d, dtypes = tmx_get_properties(node, "")
     assert len(d) == 1 and len(dtypes) == 1
     assert d["the_name"] == 1.23
     assert dtypes["the_name"] == "float"
Example #6
0
 def test_bool_type__false(self):
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="bool" value="false"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     d, dtypes = tmx_get_properties(node, "")
     assert len(d) == 1 and len(dtypes) == 1
     assert d["the_name"] is False
     assert dtypes["the_name"] == "bool"
Example #7
0
 def test_string_type(self):
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="string" value="the_value"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     d, dtypes = tmx_get_properties(node, "")
     assert len(d) == 1 and len(dtypes) == 1
     assert d["the_name"] == "the_value"
     assert dtypes["the_name"] == "string"
Example #8
0
 def test_unknown_type(self):
     # expected to emit a TmxPropertyTypeUnknownWarning
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="foo" value="the_value"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     d, dtypes = tmx_get_properties(node, "")
     assert len(d) == 1 and len(dtypes) == 1
     assert d["the_name"] == "the_value"
     assert dtypes["the_name"] == "foo"
Example #9
0
 def test_file_type(self):
     # ballpark test to not handle OS differences
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="file" value="shortname.txt"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     d, dtypes = tmx_get_properties(node, "basedir")
     assert len(d) == 1 and len(dtypes) == 1
     assert dtypes["the_name"] == "file"
     path = d["the_name"]
     assert "basedir" in path
     assert "shortname.txt" in path
Example #10
0
 def test_two_property_s(self):
     text = r"""
     <aaa>
      <properties>
        <property name="the_name" type="string" value="the_value"/>           
        <property name="other_name" type="int" value="123"/>           
      </properties>
     </aaa>"""
     node = ET.fromstring(text)
     d, dtypes = tmx_get_properties(node, "")
     assert len(d) == 2 and len(dtypes) == 2
     assert d["the_name"] == "the_value"
     assert dtypes["the_name"] == "string"
     
     assert d["other_name"] == 123
     assert dtypes["other_name"] == "int"