diff options
Diffstat (limited to 'addons/gut/gut_config.gd')
| -rw-r--r-- | addons/gut/gut_config.gd | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/addons/gut/gut_config.gd b/addons/gut/gut_config.gd deleted file mode 100644 index 26a568f..0000000 --- a/addons/gut/gut_config.gd +++ /dev/null @@ -1,190 +0,0 @@ -var Gut = load('res://addons/gut/gut.gd') - -# Do not want a ref to _utils here due to use by editor plugin. -# _utils needs to be split so that constants and what not do not -# have to rely on the weird singleton thing I made. -enum DOUBLE_STRATEGY{ - FULL, - PARTIAL -} - - -var valid_fonts = ['AnonymousPro', 'CourierPro', 'LobsterTwo', 'Default'] -var default_options = { - background_color = Color(.15, .15, .15, 1).to_html(), - config_file = 'res://.gutconfig.json', - dirs = [], - disable_colors = false, - double_strategy = 'partial', - font_color = Color(.8, .8, .8, 1).to_html(), - font_name = 'CourierPrime', - font_size = 16, - hide_orphans = false, - ignore_pause = false, - include_subdirs = false, - inner_class = '', - junit_xml_file = '', - junit_xml_timestamp = false, - log_level = 1, - opacity = 100, - post_run_script = '', - pre_run_script = '', - prefix = 'test_', - selected = '', - should_exit = false, - should_exit_on_success = false, - should_maximize = false, - compact_mode = false, - show_help = false, - suffix = '.gd', - tests = [], - unit_test_name = '', - - gut_on_top = true, -} - -var default_panel_options = { - font_name = 'CourierPrime', - font_size = 30, - hide_result_tree = false, - hide_output_text = false, - hide_settings = false, - use_colors = true -} - -var options = default_options.duplicate() - - -func _null_copy(h): - var new_hash = {} - for key in h: - new_hash[key] = null - return new_hash - - -func _load_options_from_config_file(file_path, into): - # SHORTCIRCUIT - var f = File.new() - if(!f.file_exists(file_path)): - if(file_path != 'res://.gutconfig.json'): - print('ERROR: Config File "', file_path, '" does not exist.') - return -1 - else: - return 1 - - var result = f.open(file_path, f.READ) - if(result != OK): - push_error(str("Could not load data ", file_path, ' ', result)) - return result - - var json = f.get_as_text() - f.close() - - var results = JSON.parse(json) - # SHORTCIRCUIT - if(results.error != OK): - print("\n\n",'!! ERROR parsing file: ', file_path) - print(' at line ', results.error_line, ':') - print(' ', results.error_string) - return -1 - - # Get all the options out of the config file using the option name. The - # options hash is now the default source of truth for the name of an option. - _load_dict_into(results.result, into) - - return 1 - -func _load_dict_into(source, dest): - for key in dest: - if(source.has(key)): - if(source[key] != null): - if(typeof(source[key]) == TYPE_DICTIONARY): - _load_dict_into(source[key], dest[key]) - else: - dest[key] = source[key] - - - - -func write_options(path): - var content = JSON.print(options, ' ') - - var f = File.new() - var result = f.open(path, f.WRITE) - if(result == OK): - f.store_string(content) - f.close() - return result - - -# Apply all the options specified to _tester. This is where the rubber meets -# the road. -func _apply_options(opts, _tester): - _tester.set_yield_between_tests(true) - _tester.set_modulate(Color(1.0, 1.0, 1.0, min(1.0, float(opts.opacity) / 100))) - _tester.show() - - _tester.set_include_subdirectories(opts.include_subdirs) - - if(opts.should_maximize): - _tester.maximize() - - if(opts.compact_mode): - _tester.get_gui().compact_mode(true) - - if(opts.inner_class != ''): - _tester.set_inner_class_name(opts.inner_class) - _tester.set_log_level(opts.log_level) - _tester.set_ignore_pause_before_teardown(opts.ignore_pause) - - if(opts.selected != ''): - _tester.select_script(opts.selected) - # _run_single = true - - for i in range(opts.dirs.size()): - _tester.add_directory(opts.dirs[i], opts.prefix, opts.suffix) - - for i in range(opts.tests.size()): - _tester.add_script(opts.tests[i]) - - - if(opts.double_strategy == 'full'): - _tester.set_double_strategy(DOUBLE_STRATEGY.FULL) - elif(opts.double_strategy == 'partial'): - _tester.set_double_strategy(DOUBLE_STRATEGY.PARTIAL) - - _tester.set_unit_test_name(opts.unit_test_name) - _tester.set_pre_run_script(opts.pre_run_script) - _tester.set_post_run_script(opts.post_run_script) - _tester.set_color_output(!opts.disable_colors) - _tester.show_orphans(!opts.hide_orphans) - _tester.set_junit_xml_file(opts.junit_xml_file) - _tester.set_junit_xml_timestamp(opts.junit_xml_timestamp) - - _tester.get_gui().set_font_size(opts.font_size) - _tester.get_gui().set_font(opts.font_name) - if(opts.font_color != null and opts.font_color.is_valid_html_color()): - _tester.get_gui().set_default_font_color(Color(opts.font_color)) - if(opts.background_color != null and opts.background_color.is_valid_html_color()): - _tester.get_gui().set_background_color(Color(opts.background_color)) - - return _tester - - -func config_gut(gut): - return _apply_options(options, gut) - - -func load_options(path): - return _load_options_from_config_file(path, options) - -func load_panel_options(path): - options['panel_options'] = default_panel_options.duplicate() - return _load_options_from_config_file(path, options) - -func load_options_no_defaults(path): - options = _null_copy(default_options) - return _load_options_from_config_file(path, options) - -func apply_options(gut): - _apply_options(options, gut) |
