original_docstring: Writes the GLES2 Implemention unit test.
docstring: Writes the GLES2 Implemention unit test.
docstring_tokens: Writes the GLES2 Implemention unit test .
code: def WriteGLES2ImplementationUnitTest(self, func, file):
      """Writes the GLES2 Implemention unit test."""
      code = """
  TEST_F(GLES2ImplementationTest, %(name)s) {
    %(type)s data[%(count_param)d][%(count)d] = {{0}};
    struct Cmds {
      cmds::%(name)sImmediate cmd;
      %(type)s data[%(count_param)d][%(count)d];
    };
  
    Cmds expected;
    for (int ii = 0; ii < %(count_param)d; ++ii) {
      for (int jj = 0; jj < %(count)d; ++jj) {
        data[ii][jj] = static_cast<%(type)s>(ii * %(count)d + jj);
      }
    }
    expected.cmd.Init(%(cmd_args)s, &data[0][0]);
    gl_->%(name)s(%(args)s, &data[0][0]);
    EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
  }
  """
      cmd_arg_strings = [
        arg.GetValidClientSideCmdArg(func) for arg in func.GetCmdArgs()[0:-2]
      ]
      gl_arg_strings = []
      count_param = 0
      for arg in func.GetOriginalArgs()[0:-1]:
        valid_value = arg.GetValidClientSideArg(func)
        gl_arg_strings.append(valid_value)
        if arg.name == "count":
          count_param = int(valid_value)
      file.Write(code % {
            'name': func.name,
            'type': self.GetArrayType(func),
            'count': self.GetArrayCount(func),
            'args': ", ".join(gl_arg_strings),
            'cmd_args': ", ".join(cmd_arg_strings),
            'count_param': count_param,
          })
  
      # Test constants for invalid values, as they are not tested by the
      # service.
      constants = [
        arg for arg in func.GetOriginalArgs()[0:-1] if arg.IsConstant()
      ]
      if not constants:
        return
  
      code = """
  TEST_F(GLES2ImplementationTest, %(name)sInvalidConstantArg%(invalid_index)d) {
    %(type)s data[%(count_param)d][%(count)d] = {{0}};
    for (int ii = 0; ii < %(count_param)d; ++ii) {
      for (int jj = 0; jj < %(count)d; ++jj) {
        data[ii][jj] = static_cast<%(type)s>(ii * %(count)d + jj);
      }
    }
    gl_->%(name)s(%(args)s, &data[0][0]);
    EXPECT_TRUE(NoCommandsWritten());
    EXPECT_EQ(%(gl_error)s, CheckError());
  }
  """
      for invalid_arg in constants:
        gl_arg_strings = []
        invalid = invalid_arg.GetInvalidArg(func)
        for arg in func.GetOriginalArgs()[0:-1]:
          if arg is invalid_arg:
            gl_arg_strings.append(invalid[0])
          else:
            valid_value = arg.GetValidClientSideArg(func)
            gl_arg_strings.append(valid_value)
            if arg.name == "count":
              count_param = int(valid_value)
  
        file.Write(code % {
          'name': func.name,
          'invalid_index': func.GetOriginalArgs().index(invalid_arg),
          'type': self.GetArrayType(func),
          'count': self.GetArrayCount(func),
          'args': ", ".join(gl_arg_strings),
          'gl_error': invalid[2],
          'count_param': count_param,
        })
code_tokens: def WriteGLES2ImplementationUnitTest ( self , func , file ) : code = """
  TEST_F(GLES2ImplementationTest, %(name)s) {
    %(type)s data[%(count_param)d][%(count)d] = {{0}};
    struct Cmds {
      cmds::%(name)sImmediate cmd;
      %(type)s data[%(count_param)d][%(count)d];
    };
  
    Cmds expected;
    for (int ii = 0; ii < %(count_param)d; ++ii) {
      for (int jj = 0; jj < %(count)d; ++jj) {
        data[ii][jj] = static_cast<%(type)s>(ii * %(count)d + jj);
      }
    }
    expected.cmd.Init(%(cmd_args)s, &data[0][0]);
    gl_->%(name)s(%(args)s, &data[0][0]);
    EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
  }
  """ cmd_arg_strings = [ arg . GetValidClientSideCmdArg ( func ) for arg in func . GetCmdArgs ( ) [ 0 : - 2 ] ] gl_arg_strings = [ ] count_param = 0 for arg in func . GetOriginalArgs ( ) [ 0 : - 1 ] : valid_value = arg . GetValidClientSideArg ( func ) gl_arg_strings . append ( valid_value ) if arg . name == "count" : count_param = int ( valid_value ) file . Write ( code % { 'name' : func . name , 'type' : self . GetArrayType ( func ) , 'count' : self . GetArrayCount ( func ) , 'args' : ", " . join ( gl_arg_strings ) , 'cmd_args' : ", " . join ( cmd_arg_strings ) , 'count_param' : count_param , } ) constants = [ arg for arg in func . GetOriginalArgs ( ) [ 0 : - 1 ] if arg . IsConstant ( ) ] if not constants : return code = """
  TEST_F(GLES2ImplementationTest, %(name)sInvalidConstantArg%(invalid_index)d) {
    %(type)s data[%(count_param)d][%(count)d] = {{0}};
    for (int ii = 0; ii < %(count_param)d; ++ii) {
      for (int jj = 0; jj < %(count)d; ++jj) {
        data[ii][jj] = static_cast<%(type)s>(ii * %(count)d + jj);
      }
    }
    gl_->%(name)s(%(args)s, &data[0][0]);
    EXPECT_TRUE(NoCommandsWritten());
    EXPECT_EQ(%(gl_error)s, CheckError());
  }
  """ for invalid_arg in constants : gl_arg_strings = [ ] invalid = invalid_arg . GetInvalidArg ( func ) for arg in func . GetOriginalArgs ( ) [ 0 : - 1 ] : if arg is invalid_arg : gl_arg_strings . append ( invalid [ 0 ] ) else : valid_value = arg . GetValidClientSideArg ( func ) gl_arg_strings . append ( valid_value ) if arg . name == "count" : count_param = int ( valid_value ) file . Write ( code % { 'name' : func . name , 'invalid_index' : func . GetOriginalArgs ( ) . index ( invalid_arg ) , 'type' : self . GetArrayType ( func ) , 'count' : self . GetArrayCount ( func ) , 'args' : ", " . join ( gl_arg_strings ) , 'gl_error' : invalid [ 2 ] , 'count_param' : count_param , } )
short_docstring: Writes the GLES2 Implemention unit test.
short_docstring_tokens: Writes the GLES2 Implemention unit test .
comment: """Writes the GLES2 Implemention unit test."""$SEP$# Test constants for invalid values, as they are not tested by the$SEP$# service.