Blame tests/strbuf.at

Packit Service 779887
# -*- Autotest -*-
Packit Service 779887
Packit Service 779887
AT_BANNER([strbuf])
Packit Service 779887
Packit Service 779887
## ---------------------- ##
Packit Service 779887
## strbuf_append_char ##
Packit Service 779887
## ---------------------- ##
Packit Service 779887
Packit Service 779887
AT_TESTFUN([strbuf_append_char],
Packit Service 779887
[[
Packit Service 779887
#include "internal_libreport.h"
Packit Service 779887
#include <assert.h>
Packit Service 779887
int main(void)
Packit Service 779887
{
Packit Service 779887
  int i;
Packit Service 779887
  struct strbuf *strbuf = strbuf_new();
Packit Service 779887
  for (i = 0; i < 100; ++i)
Packit Service 779887
  {
Packit Service 779887
    assert(strbuf->len == i);
Packit Service 779887
    assert(strbuf->alloc > strbuf->len);
Packit Service 779887
    assert(strbuf->buf[i] == '\0');
Packit Service 779887
    strbuf_append_char(strbuf, 'a');
Packit Service 779887
    assert(strbuf->buf[i] == 'a');
Packit Service 779887
    assert(strbuf->buf[i+1] == '\0');
Packit Service 779887
    assert(strbuf->len == i + 1);
Packit Service 779887
    assert(strbuf->alloc > strbuf->len);
Packit Service 779887
  }
Packit Service 779887
  strbuf_free(strbuf);
Packit Service 779887
  return 0;
Packit Service 779887
}
Packit Service 779887
]])
Packit Service 779887
Packit Service 779887
## --------------------- ##
Packit Service 779887
## strbuf_append_str ##
Packit Service 779887
## --------------------- ##
Packit Service 779887
Packit Service 779887
AT_TESTFUN([strbuf_append_str],
Packit Service 779887
[[
Packit Service 779887
#include "internal_libreport.h"
Packit Service 779887
#include <assert.h>
Packit Service 779887
Packit Service 779887
/* Test appending strings of certain length. 'len' must be < 50. */
Packit Service 779887
void test(int len)
Packit Service 779887
{
Packit Service 779887
  int i;
Packit Service 779887
  char str[50];
Packit Service 779887
  for (i = 0; i < len; ++i)
Packit Service 779887
    str[i] = 'a';
Packit Service 779887
  str[i] = '\0';
Packit Service 779887
Packit Service 779887
  struct strbuf *strbuf = strbuf_new();
Packit Service 779887
  for (i = 0; i < 100; ++i)
Packit Service 779887
  {
Packit Service 779887
    assert(strbuf->len == i*len);
Packit Service 779887
    assert(strbuf->alloc > strbuf->len);
Packit Service 779887
    assert(strbuf->buf[i*len] == '\0');
Packit Service 779887
    strbuf_append_str(strbuf, str);
Packit Service 779887
    assert(strbuf->buf[i*len] == str[0]);
Packit Service 779887
    assert(strbuf->buf[i*len+len] == '\0');
Packit Service 779887
    assert(strbuf->len == i*len + len);
Packit Service 779887
    assert(strbuf->alloc > strbuf->len);
Packit Service 779887
  }
Packit Service 779887
  strbuf_free(strbuf);
Packit Service 779887
}
Packit Service 779887
Packit Service 779887
int main(void)
Packit Service 779887
{
Packit Service 779887
  int i;
Packit Service 779887
  for (i = 0; i < 50; ++i)
Packit Service 779887
    test(i);
Packit Service 779887
  return 0;
Packit Service 779887
}
Packit Service 779887
]])
Packit Service 779887
Packit Service 779887
Packit Service 779887
## ----------- ##
Packit Service 779887
## strremovech ##
Packit Service 779887
## ----------- ##
Packit Service 779887
Packit Service 779887
AT_TESTFUN([strremovech],
Packit Service 779887
[[
Packit Service 779887
#include "internal_libreport.h"
Packit Service 779887
#include <assert.h>
Packit Service 779887
int main(void)
Packit Service 779887
{
Packit Service 779887
    char test[] = "Hello , world!";
Packit Service 779887
Packit Service 779887
    if (strcmp(strremovech(test, ' '), "Hello,world!") != 0)
Packit Service 779887
    {
Packit Service 779887
        fprintf(stderr, "Expected: 'Hello,world!'\nResult  : '%s'", test);
Packit Service 779887
        assert(!"Failed to remove space");
Packit Service 779887
    }
Packit Service 779887
Packit Service 779887
    return 0;
Packit Service 779887
}
Packit Service 779887
]])