|
1 | 1 | local log = require('java-core.utils.log') |
2 | 2 | local data_adapters = require('java-core.adapters') |
3 | 3 |
|
4 | | -local Promise = require('java-core.utils.promise') |
5 | 4 | local TestReport = require('java-core.dap.test-report') |
6 | 5 | local JavaDapRunner = require('java-core.dap.runner') |
7 | 6 | local JavaDebug = require('java-core.ls.clients.java-debug-client') |
|
43 | 42 | ---Runs the test class in the given buffer |
44 | 43 | ---@param buffer integer |
45 | 44 | ---@param config JavaCoreDapLauncherConfigOverridable |
46 | | ----@return Promise |
47 | 45 | function M:run_class_by_buffer(buffer, config) |
48 | | - return self:get_test_class_by_buffer(buffer):thenCall(function(tests) |
49 | | - return self:run_test(tests, config) |
50 | | - end) |
| 46 | + local tests = self:get_test_class_by_buffer(buffer) |
| 47 | + self:run_test(tests, config) |
51 | 48 | end |
52 | 49 |
|
53 | 50 | ---Returns test classes in the given buffer |
54 | 51 | ---@priate |
55 | 52 | ---@param buffer integer |
56 | | ----@return Promise # Promise<JavaCoreTestDetailsWithChildrenAndRange> |
| 53 | +---@return JavaCoreTestDetailsWithChildrenAndRange # get test class details |
57 | 54 | function M:get_test_class_by_buffer(buffer) |
58 | 55 | log.debug('finding test class by buffer') |
59 | 56 |
|
60 | | - return Promise.resolve():thenCall(function() |
61 | | - if not vim.api.nvim_buf_is_valid(buffer) then |
62 | | - local msg = 'passed buffer' .. tostring(buffer) .. ' is not valid' |
63 | | - log.error(msg) |
64 | | - error(msg) |
65 | | - end |
66 | | - |
67 | | - local uri = vim.uri_from_bufnr(buffer) |
68 | | - return self.test_client:find_test_types_and_methods(uri) |
69 | | - end) |
| 57 | + local uri = vim.uri_from_bufnr(buffer) |
| 58 | + return self.test_client:find_test_types_and_methods(uri) |
70 | 59 | end |
71 | 60 |
|
72 | 61 | ---Run the given test |
73 | 62 | ---@private |
74 | 63 | ---@param tests JavaCoreTestDetails[] |
75 | 64 | ---@param config? JavaCoreDapLauncherConfigOverridable config to override the default values in test launcher config |
76 | | ----@return Promise # |
77 | 65 | function M:run_test(tests, config) |
78 | 66 | ---@type JavaCoreTestJunitLaunchArguments |
79 | | - local launch_args |
80 | | - |
81 | | - return self.test_client |
82 | | - :resolve_junit_launch_arguments( |
83 | | - data_adapters.get_junit_launch_argument_params(tests) |
84 | | - ) |
85 | | - :thenCall( |
86 | | - ---@param _launch_args JavaCoreTestJunitLaunchArguments |
87 | | - function(_launch_args) |
88 | | - launch_args = _launch_args |
89 | | - |
90 | | - return self.debug_client:resolve_java_executable( |
91 | | - launch_args.mainClass, |
92 | | - launch_args.projectName |
93 | | - ) |
94 | | - end |
95 | | - ) |
96 | | - :thenCall( |
97 | | - ---@param java_exec string |
98 | | - function(java_exec) |
99 | | - local dap_launcher_config = |
100 | | - --@TODO I don't know why the hell debug is hard coded here |
101 | | - data_adapters.get_dap_launcher_config(launch_args, java_exec, { |
102 | | - debug = true, |
103 | | - label = 'Launch All Java Tests', |
104 | | - }) |
105 | | - |
106 | | - log.debug('dap launcher config is: ', dap_launcher_config) |
107 | | - |
108 | | - dap_launcher_config = |
109 | | - vim.tbl_deep_extend('force', dap_launcher_config, config or {}) |
110 | | - |
111 | | - return self.runner:run_by_config(dap_launcher_config) |
112 | | - end |
113 | | - ) |
| 67 | + local launch_args = self.test_client:resolve_junit_launch_arguments( |
| 68 | + data_adapters.get_junit_launch_argument_params(tests) |
| 69 | + ) |
| 70 | + |
| 71 | + local java_exec = self.debug_client:resolve_java_executable( |
| 72 | + launch_args.mainClass, |
| 73 | + launch_args.projectName |
| 74 | + ) |
| 75 | + |
| 76 | + local dap_launcher_config = |
| 77 | + data_adapters.get_dap_launcher_config(launch_args, java_exec, { |
| 78 | + debug = true, |
| 79 | + label = 'Launch All Java Tests', |
| 80 | + }) |
| 81 | + |
| 82 | + dap_launcher_config = |
| 83 | + vim.tbl_deep_extend('force', dap_launcher_config, config or {}) |
| 84 | + |
| 85 | + self.runner:run_by_config(dap_launcher_config) |
114 | 86 | end |
115 | 87 |
|
116 | 88 | return M |
0 commit comments