diff --git a/tests/samples/codefiles/c_and_cpp/empty.h b/tests/samples/codefiles/c_and_cpp/empty.h new file mode 100644 index 0000000..e69de29 diff --git a/tests/samples/codefiles/c_and_cpp/foo.cpp b/tests/samples/codefiles/c_and_cpp/foo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/tests/samples/codefiles/c_and_cpp/see.c b/tests/samples/codefiles/c_and_cpp/see.c new file mode 100644 index 0000000..e69de29 diff --git a/tests/samples/codefiles/c_and_cpp/see.h b/tests/samples/codefiles/c_and_cpp/see.h new file mode 100644 index 0000000..e69de29 diff --git a/tests/samples/codefiles/c_only/foo.c b/tests/samples/codefiles/c_only/foo.c new file mode 100644 index 0000000..e69de29 diff --git a/tests/samples/codefiles/c_only/see.h b/tests/samples/codefiles/c_only/see.h new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_wakatime_languages.py b/tests/test_wakatime_languages.py index 01878f5..2d8b5fb 100644 --- a/tests/test_wakatime_languages.py +++ b/tests/test_wakatime_languages.py @@ -84,9 +84,7 @@ class LanguagesTestCase(utils.TestCase): now = u(int(time.time())) config = 'tests/samples/sample.cfg' - entity = 'tests/samples/codefiles/see.h' - args = ['--file', entity, '--config', config, '--time', now] retval = execute(args) @@ -103,3 +101,35 @@ class LanguagesTestCase(utils.TestCase): language = u('C++') self.assertEqual(self.patched['wakatime.offlinequeue.Queue.push'].call_args[0][0]['language'], language) + + def test_c_language_detected_for_header_with_c_files_in_folder(self): + response = Response() + response.status_code = 500 + self.patched['wakatime.packages.requests.adapters.HTTPAdapter.send'].return_value = response + + now = u(int(time.time())) + config = 'tests/samples/sample.cfg' + entity = 'tests/samples/codefiles/c_only/see.h' + args = ['--file', entity, '--config', config, '--time', now] + + retval = execute(args) + self.assertEquals(retval, 102) + + language = u('C') + self.assertEqual(self.patched['wakatime.offlinequeue.Queue.push'].call_args[0][0]['language'], language) + + def test_cpp_language_detected_for_header_with_c_and_cpp_files_in_folder(self): + response = Response() + response.status_code = 500 + self.patched['wakatime.packages.requests.adapters.HTTPAdapter.send'].return_value = response + + now = u(int(time.time())) + config = 'tests/samples/sample.cfg' + entity = 'tests/samples/codefiles/c_and_cpp/empty.h' + args = ['--file', entity, '--config', config, '--time', now] + + retval = execute(args) + self.assertEquals(retval, 102) + + language = u('C++') + self.assertEqual(self.patched['wakatime.offlinequeue.Queue.push'].call_args[0][0]['language'], language)