def test_parse_meta_failure(self): meta = """ novalue """ # Currently all values will work as we default to make things strings, so if # there is a syntax error for list or whatever.. that will screw with the # people using it, but we still want bare words and this is the easiest # implementation. with self.assertRaises(ValueError): utils.parse_meta(meta)
def test_parse_meta(self): meta = """ string: bare words!! string2: "mrrow" # should be ignored integer: 1 # just a comment list: [42, "whoa", ["really?", 1337]] dict: {"meow": 1} date: 2013-01-02 """ meta = utils.parse_meta(meta) self.assertTrue("string" in meta) self.assertEquals("bare words!!", meta["string"]) self.assertTrue("string2" in meta) self.assertEquals("mrrow", meta["string2"]) self.assertTrue("integer" in meta) self.assertEquals(1, meta["integer"]) self.assertTrue("list" in meta) self.assertEquals([42, "whoa", ["really?", 1337]], meta["list"]) self.assertTrue("dict" in meta) self.assertEquals({"meow": 1}, meta["dict"]) self.assertTrue("date" in meta) self.assertEquals("2013-01-02", meta["date"])