summary refs log tree commit diff stats
path: root/Makefile
Commit message (Expand)AuthorAgeFilesLines
* Makefile, setup.py: Fixed `make doc`hut2010-09-111-1/+0
* Makefile: simplificationhut2010-06-241-1/+1
* make doc: minor cleanup and fixhut2010-06-211-2/+2
* commited pydocs are author agnosticshpelda2010-06-211-1/+2
* INSTALL: changed logname from uninstall_info to install_log.txthut2010-06-181-1/+1
* Removed built-in support for uninstalling.hut2010-06-181-5/+4
* Rewrote INSTALL and "make (un)install"hut2010-06-181-2/+12
* Makefile: removed functions which are now handled by setup.pyhut2010-06-181-51/+4
* make snapshot: prefix ranger-$VERSION/ in archiveshut2010-06-141-1/+1
* make install: Fixed script for finding PYTHON_SITE_DESThut2010-06-141-2/+6
* Makefile: dynamically get the version numberhut2010-06-091-1/+1
* simplified all_tests.py, moved to test/hut2010-06-071-2/+2
* make bm, make test: make use of PYTHON variablehut2010-05-251-2/+2
* make: replace literal python with $(PYTHON)hut2010-05-171-1/+1
* make: added DESTDIR to Makefilehut2010-05-171-9/+9
* Makefile: updatedhut2010-05-101-9/+12
* Added license header to a few fileshut2010-05-041-0/+15
* Makefile: added `make bm` to run all benchmarks BMCOUNT timeshut2010-05-031-2/+5
* Makefile: cleaned up, added automatic uninstallhut2010-05-031-58/+57
* make clean: fixedhut2010-04-071-1/+1
* Makefile: improvementshut2010-04-031-2/+2
* clean uphut2010-03-311-12/+0
* make test: reduce verbosityhut2010-03-261-1/+1
* fixed make cleanhut2010-03-251-1/+1
* make clean: safer method of cleaninghut2010-03-221-1/+1
* make compile: create pyc files toohut2010-03-221-1/+2
* make test: don't use "clean" before "test"hut2010-03-211-1/+1
* make install: chmod after copyinghut2010-03-141-0/+2
* incremented verison number v1.0.4hut2010-03-121-1/+1
* make install: catch an exceptionhut2010-03-121-0/+4
* make push: removed "hut" repohut2010-03-121-1/+0
* misc changes, make installhut2010-03-121-7/+34
* make snapshot: changed the format of the filenamehut2010-03-081-2/+3
* make minimal_snapshot: snapshot with only neccessary fileshut2010-03-081-1/+13
* make clean: fixedhut2010-02-281-2/+2
* Makefile: added make info + some improvementshut2010-02-271-7/+22
* added make snapshothut2010-02-251-0/+4
* make clean: delete pyo files as well.hut2010-02-251-1/+1
* added Makefilehut2010-02-251-0/+39
ble */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#include <stdlib.h>
#include <string.h>
#include <head-unit.h>
#include "util.h"

void replace_one_substr(void)
{
    char *string = "it is a string";
    char *sub = "is";
    char *new = "was";

    char *result = str_replace(string, sub, new);

    assert_string_equals("it was a string", result);
}

void replace_one_substr_beginning(void)
{
    char *string = "it is a string";
    char *sub = "it";
    char *new = "that";

    char *result = str_replace(string, sub, new);

    assert_string_equals("that is a string", result);
}

void replace_one_substr_end(void)
{
    char *string = "it is a string";
    char *sub = "string";
    char *new = "thing";

    char *result = str_replace(string, sub, new);

    assert_string_equals("it is a thing", result);
}

void replace_two_substr(void)
{
    char *string = "it is a is string";
    char *sub = "is";
    char *new = "was";

    char *result = str_replace(string, sub, new);

    assert_string_equals("it was a was string", result);
}

void replace_char(void)
{
    char *string = "some & a thing & something else";
    char *sub = "&";
    char *new = "&amp;";

    char *result = str_replace(string, sub, new);

    assert_string_equals("some &amp; a thing &amp; something else", result);
}

void replace_when_none(void)
{
    char *string = "its another string";
    char *sub = "haha";
    char *new = "replaced";

    char *result = str_replace(string, sub, new);

    assert_string_equals("its another string", result);
}

void replace_when_match(void)
{
    char *string = "hello";
    char *sub = "hello";
    char *new = "goodbye";

    char *result = str_replace(string, sub, new);

    assert_string_equals("goodbye", result);
}

void replace_when_string_empty(void)
{
    char *string = "";
    char *sub = "hello";
    char *new = "goodbye";

    char *result = str_replace(string, sub, new);

    assert_string_equals("", result);
}

void replace_when_string_null(void)
{
    char *string = NULL;
    char *sub = "hello";
    char *new = "goodbye";

    char *result = str_replace(string, sub, new);

    assert_is_null(result);
}

void replace_when_sub_empty(void)
{
    char *string = "hello";
    char *sub = "";
    char *new = "goodbye";

    char *result = str_replace(string, sub, new);

    assert_string_equals("hello", result);
}

void replace_when_sub_null(void)
{
    char *string = "hello";
    char *sub = NULL;
    char *new = "goodbye";

    char *result = str_replace(string, sub, new);

    assert_string_equals("hello", result);
}

void replace_when_new_empty(void)
{
    char *string = "hello";
    char *sub = "hello";
    char *new = "";

    char *result = str_replace(string, sub, new);

    assert_string_equals("", result);
}

void replace_when_new_null(void)
{
    char *string = "hello";
    char *sub = "hello";
    char *new = NULL;

    char *result = str_replace(string, sub, new);

    assert_string_equals("hello", result);
}

void register_util_tests(void)
{
    TEST_MODULE("util tests");
    TEST(replace_one_substr);
    TEST(replace_one_substr_beginning);
    TEST(replace_one_substr_end);
    TEST(replace_two_substr);
    TEST(replace_char);
    TEST(replace_when_none);
    TEST(replace_when_match);
    TEST(replace_when_string_empty);
    TEST(replace_when_string_null);
    TEST(replace_when_sub_empty);
    TEST(replace_when_sub_null);
    TEST(replace_when_new_empty);
    TEST(replace_when_new_null);
}