Sha256: c88973247f076c9f2601015c1ae6f848120931e975148e3c7130c02b30e00cd7

Contents?: true

Size: 1.45 KB

Versions: 12

Compression:

Stored size: 1.45 KB

Contents

class CMockGeneratorPluginIgnoreArg
  attr_reader :priority
  attr_accessor :utils

  def initialize(config, utils)
    @utils        = utils
    @priority     = 10
  end

  def instance_typedefs(function)
    lines = ""
    function[:args].each do |arg|
      lines << "  int IgnoreArg_#{arg[:name]};\n"
    end
    lines
  end

  def mock_function_declarations(function)
    lines = ""
    function[:args].each do |arg|
      lines << "#define #{function[:name]}_IgnoreArg_#{arg[:name]}()"
      lines << " #{function[:name]}_CMockIgnoreArg_#{arg[:name]}(__LINE__)\n"
      lines << "void #{function[:name]}_CMockIgnoreArg_#{arg[:name]}(UNITY_LINE_TYPE cmock_line);\n"
    end
    lines
  end

  def mock_interfaces(function)
    lines = []
    func_name = function[:name]
    function[:args].each do |arg|
      arg_name = arg[:name]
      arg_type = arg[:type]
      lines << "void #{function[:name]}_CMockIgnoreArg_#{arg[:name]}(UNITY_LINE_TYPE cmock_line)\n"
      lines << "{\n"
      lines << "  CMOCK_#{func_name}_CALL_INSTANCE* cmock_call_instance = " +
        "cmock_call_instance = (CMOCK_#{func_name}_CALL_INSTANCE*)CMock_Guts_GetAddressFor(CMock_Guts_MemEndOfChain(Mock.#{func_name}_CallInstance));\n"
      lines << "  UNITY_TEST_ASSERT_NOT_NULL(cmock_call_instance, cmock_line, \"#{arg_name} IgnoreArg called before Expect on '#{func_name}'.\");\n"
      lines << "  cmock_call_instance->IgnoreArg_#{arg_name} = 1;\n"
      lines << "}\n\n"
    end
    lines
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
ceedling-0.17.0 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.16.0 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.15.6 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.15.5 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.15.4 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.15.3 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.15.2 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.15.1 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
ceedling-0.15.0 vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
acpc_dealer-2.1.2 vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
acpc_dealer-2.1.1 vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb
acpc_dealer-2.1.0 vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb