def test_can_add_analyzer_for_filetype(self): conf = Configuration() analyzer = Analyzer() conf.add_analyzer_for_file_type(analyzer, 'javascript') resource = Resource('file.js') analyzers = conf.get_analyzers_for_resource(resource) self.assertListEqual([analyzer], analyzers)
def test_returns_non_when_asking_for_analyzers_for_an_unknown_file_type( self): conf = Configuration() analyzer = Analyzer() conf.add_analyzer_for_file_type(analyzer, 'javascript') resource = Resource('file.foo') analyzers = conf.get_analyzers_for_resource(resource) self.assertIsNone(analyzers)
class TestAnalyzer(unittest.TestCase): def setUp(self): self.analyzer = Analyzer() self.resource = Resource('path/to/some/file') def tearDown(self): pass def test_has_an_analyze_method_that_takes_a_resource(self): self.analyzer.analyze(self.resource) def test_has_an_analyze_method_requires_a_resource_argument(self): self.assertRaises(Exception, self.analyzer.analyze, "some text") def test_analyze_method_produces_an_analysis_instance(self): analysis = self.analyzer.analyze(self.resource) self.assertIsNotNone(analysis) self.assertIsInstance(analysis, Analysis) def test_analysis_has_a_messages_property(self): analysis = self.analyzer.analyze(None) self.assertIsNone(analysis.messages) def test_analysis_has_a_warnings_property(self): analysis = self.analyzer.analyze(None) self.assertIsNone(analysis.warnings) def test_analysis_has_an_errors_property(self): analysis = self.analyzer.analyze(None) self.assertIsNone(analysis.errors) def test_analysis_has_a_good_property(self): analysis = self.analyzer.analyze(None) self.assertIsNotNone(analysis.good)
def test_add_analyzer_checks_classes(self): conf = Configuration() self.assertRaises(Exception, conf.add_analyzer_for_file_type, 'string instead of an analyzer', 'javascript') # should not throw conf.add_analyzer_for_file_type(Analyzer(), 'javascript') # should not throw conf.add_analyzer_for_file_type(SizeAnalyzer(), 'javascript')
def test_get_analyzers_for_resource_with_skip_list(self): lib_resource = Resource(os.path.join(os.getcwd(), 'lib', 'jquery.js')) src_resource = Resource(os.path.join(os.getcwd(), 'src', 'file.js')) conf = Configuration() analyzer = Analyzer() conf.add_analyzer_for_file_type(analyzer, 'javascript', ['lib/*']) self.assertIsNone(conf.get_analyzers_for_resource(lib_resource)) self.assertEqual([analyzer], conf.get_analyzers_for_resource(src_resource))
def test_add_analyzer_for_file_type_raises_when_skip_list_is_a_string( self): conf = Configuration() self.assertRaises(Exception, conf.add_analyzer_for_file_type, Analyzer(), 'javascript', 'something invalid')
def setUp(self): self.analyzer = Analyzer() self.resource = Resource('path/to/some/file')