# Test cases specifically for the Objective C language.
#
# Range: 50000 - 59999
# test.name  config.file  input.file

# The .h file needs a language override
50001  obj-c.cfg                                    oc/Fraction.h      OC
50002  obj-c.cfg                                    oc/Fraction.m      OC
50003  obj-c.cfg                                    oc/main.m
50004  obj-c.cfg                                    oc/string.m
50005  obj-c.cfg                                    oc/Declarations.h  OC
50006  obj-c.cfg                                    oc/exceptions.m
50007  obj-c.cfg                                    oc/misc.m
50008  obj-c.cfg                                    oc/protocol.m
50009  obj-c.cfg                                    oc/literals.m

50010  sp_after_oc_return_type_add.cfg              oc/return_type.m
50011  sp_after_oc_return_type_force.cfg            oc/return_type.m
50012  sp_after_oc_return_type_remove.cfg           oc/return_type.m

50015  obj-c.cfg                                    oc/receiver.m

50016  obj-c.cfg                                    oc/ternary.m
50017  ternary_short.cfg                            oc/ternary.m

50020  sp_after_oc_at_sel_add.cfg                   oc/selector.m
50021  sp_after_oc_at_sel_force.cfg                 oc/selector.m
50022  sp_after_oc_at_sel_remove.cfg                oc/selector.m

50025  sp_after_throw_force.cfg                     oc/exceptions.m
50026  sp_after_throw_remove.cfg                    oc/exceptions.m

50030  sort_imports.cfg                             oc/sort_import.m

50040  objc_complex_method.cfg                      oc/complex_method.m

50050  objc_complex_method.cfg                      oc/real_world_file.m

50060  oc-split.cfg                                 oc/oc-split.m

50070  sp_before_oc_block_caret_add.cfg             oc/blocks.m
50071  sp_before_oc_block_caret_force.cfg           oc/blocks.m
50072  sp_before_oc_block_caret_remove.cfg          oc/blocks.m
50073  sp_after_oc_block_caret_add.cfg              oc/blocks.m
50074  sp_after_oc_block_caret_force.cfg            oc/blocks.m
50075  sp_after_oc_block_caret_remove.cfg           oc/blocks.m
50076  sp_before_after_oc_block_caret_remove.cfg    oc/blocks.m

50077  sp_before_oc_block_caret_add.cfg             oc/more_blocks.m
50078  sp_before_oc_block_caret_force.cfg           oc/more_blocks.m
50079  sp_before_oc_block_caret_remove.cfg          oc/more_blocks.m
50080  sp_after_oc_block_caret_add.cfg              oc/more_blocks.m
50081  sp_after_oc_block_caret_force.cfg            oc/more_blocks.m
50082  sp_after_oc_block_caret_remove.cfg           oc/more_blocks.m
50083  sp_before_after_oc_block_caret_remove.cfg    oc/more_blocks.m
50084  nl_brace_square.cfg                          oc/more_blocks.m
50085  nl_after_func_body-3.cfg                     oc/block_in_method.m

50090  obj-c.cfg                                    oc/kw.m

50095  obj-c.cfg                                    oc/box.m
50100  bug_340.cfg                                  oc/bug_340.m

50110  obj-c.cfg                                    oc/msg_align.m
50111  del_semicolon.cfg                            oc/ns_enum.m
50112  sp_enum_paren-f.cfg                          oc/ns_enum.m
50113  sp_enum_paren-r.cfg                          oc/ns_enum.m

50120  gh137.cfg                                    oc/gh137.m

50200  sp_block_as_argument.cfg                     oc/more_blocks_2.m
50201  sp_block_as_argument.cfg                     oc/blocks_align.m
50202  sp_block_as_argument2.cfg                    oc/blocks_align.m
50203  sp_block_as_argument3.cfg                    oc/blocks_align.m
50204  sp_block_as_argument4.cfg                    oc/blocks_align.m
50205  sp_block_as_argument5.cfg                    oc/msg_align.m

50300  obj-c.cfg                                    oc/msg.m

50400  obj-c.cfg                                    oc/for.m

50410  oc_cond_colon.cfg                            oc/oc_cond_colon.m

50500  obj-c.cfg                                    oc/code_placeholder.m

50510  gh293.a.cfg                                  oc/gh293.m
50511  gh293.b.cfg                                  oc/gh293.m
