diff --git a/lib/cmock_generator.rb b/lib/cmock_generator.rb index b756f02..66f4012 100644 --- a/lib/cmock_generator.rb +++ b/lib/cmock_generator.rb @@ -28,7 +28,7 @@ class CMockGenerator def create_mock(module_name, parsed_stuff) @module_name = module_name @mock_name = @prefix + @module_name - @clean_mock_name = @mock_name.gsub(/-/, "_") + @clean_mock_name = @mock_name.gsub(/(?:-|\s+)/, "_") create_mock_header_file(parsed_stuff) create_mock_source_file(parsed_stuff) end @@ -63,12 +63,11 @@ class CMockGenerator end def create_mock_header_header(file, filename) - define_name = filename.gsub(/\.h/, "_h").upcase - define_name = define_name.gsub(/-/, "_") + define_name = @clean_mock_name.gsub(/\.h/, "_h").upcase orig_filename = filename.gsub(@config.mock_prefix, "") file << "/* AUTOGENERATED FILE. DO NOT EDIT. */\n" - file << "#ifndef _#{define_name}\n" - file << "#define _#{define_name}\n\n" + file << "#ifndef _#{define_name}_H\n" + file << "#define _#{define_name}_H\n\n" @includes_h_pre_orig_header.each {|inc| file << "#include #{inc}\n"} file << "#include \"#{orig_filename}\"\n" @includes_h_post_orig_header.each {|inc| file << "#include #{inc}\n"} diff --git a/test/unit/cmock_generator_main_test.rb b/test/unit/cmock_generator_main_test.rb index cee2ab8..6d16c1f 100644 --- a/test/unit/cmock_generator_main_test.rb +++ b/test/unit/cmock_generator_main_test.rb @@ -102,7 +102,7 @@ class CMockGeneratorTest < Test::Unit::TestCase assert_equal(expected, output) end - should "handle dashes in the module name" do + should "handle dashes and spaces in the module name" do #no strict handling @config.expect.mock_prefix.returns("Mock") @config.expect.enforce_strict_ordering.returns(nil) @@ -112,12 +112,12 @@ class CMockGeneratorTest < Test::Unit::TestCase @config.expect.includes_c_pre_header.returns(nil) @config.expect.includes_c_post_header.returns(nil) @cmock_generator2 = CMockGenerator.new(@config, @file_writer, @utils, @plugins) - @cmock_generator2.module_name = "Pout-Pout-Fish" - @cmock_generator2.mock_name = "MockPout-Pout-Fish" + @cmock_generator2.module_name = "Pout-Pout Fish" + @cmock_generator2.mock_name = "MockPout-Pout Fish" @cmock_generator2.clean_mock_name = "MockPout_Pout_Fish" @config.expect.mock_prefix.returns("Mock") - orig_filename = "Pout-Pout-Fish.h" + orig_filename = "Pout-Pout Fish.h" define_name = "MOCKPOUT_POUT_FISH_H" mock_name = "MockPout_Pout_Fish" output = [] @@ -133,7 +133,7 @@ class CMockGeneratorTest < Test::Unit::TestCase @plugins.expect.run(:include_files).returns("#include \"PluginRequiredHeader.h\"\n") - @cmock_generator.create_mock_header_header(output, "MockPout-Pout-Fish.h") + @cmock_generator2.create_mock_header_header(output, "MockPout-Pout Fish.h") assert_equal(expected, output) end