def test_parse_simple_file(self): file_spec = jsdoc_parser.parse_file("tests/js/parent.js") self.assertEquals("tests/js/parent.js", file_spec.name) self.assertEquals( [ "namespace.parent", "namespace.child.prototype.func3", "namespace.child.prototype.func4", "this.prop3", "this.prop4", ], file_spec.members.keys(), ) self.assertEquals("namespace.parent", file_spec.constructor.name) self.assertIsNone(None, file_spec.superclass)
def test_parse_file_with_super_class(self): file_spec = jsdoc_parser.parse_file("tests/js/child.js") self.assertEquals("tests/js/child.js", file_spec.name) exp_members = [ "namespace.child", "namespace.child.prototype.func1", "namespace.child.prototype.func2", "this.prop1", "this.prop2", ] exp_members.sort() act_members = file_spec.members.keys() act_members.sort() self.assertEqual(exp_members, act_members) self.assertEquals("namespace.child", file_spec.constructor.name) self.assertEquals("namespace.parent", file_spec.superclass)
def test_get_file_spec_with_no_hierarcy(self): exp = jsdoc_parser.parse_file("tests/js/parent.js") self.assertEquals(exp.members.keys(), self.cfp.get_file_spec("tests/js/parent.js").members.keys())
def test_get_file_spec_extends_full_hierarcy(self): exp = jsdoc_parser.parse_file("tests/js/child.js").members.keys() exp.extend(jsdoc_parser.parse_file("tests/js/parent.js").members.keys()) exp = list(set(exp)) self.assertEquals(exp, self.cfp.get_file_spec("tests/js/child.js").members.keys())
def _deep_parse_file(self, file): file_spec = jsdoc_parser.parse_file(file) self._append_super_class_file_spec(file_spec) return file_spec
def test_parse_missing_file(self): self.assertIsNone(jsdoc_parser.parse_file("no_file.js"))