Пример #1
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Compare_Contract)
{
    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse("MMM", &pointer);

    PARCURISegment *equivalents[] = {
        segment,
        parcURISegment_Parse("MMM",&pointer),
        NULL,
    };
    PARCURISegment *lessers[] = {
        parcURISegment_Parse("MM",  &pointer),
        parcURISegment_Parse("MML", &pointer),
        NULL,
    };
    PARCURISegment *greaters[] = {
        parcURISegment_Parse("MMMM", &pointer),
        parcURISegment_Parse("MMN",  &pointer),
        NULL,
    };
    parcObjectTesting_AssertCompareTo(parcURISegment_Compare, segment, equivalents, lessers, greaters);

    for (int i = 0; equivalents[i] != NULL; i++) {
        parcURISegment_Release(&equivalents[i]);
    }
    for (int i = 0; lessers[i] != NULL; i++) {
        parcURISegment_Release(&lessers[i]);
    }
    for (int i = 0; greaters[i] != NULL; i++) {
        parcURISegment_Release(&greaters[i]);
    }
}
Пример #2
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Acquire)
{
    char *expected = URI_PATH_SEGMENT;

    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(expected, &pointer);
    PARCURISegment *handle = parcURISegment_Acquire(segment);
    assertTrue(parcURISegment_Equals(segment, handle), "Expected URI segments to be equal: %s - %s", parcURISegment_ToString(segment), parcURISegment_ToString(handle));

    parcURISegment_Release(&segment);
    parcURISegment_Release(&handle);
}
Пример #3
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Equals_Contract)
{
    char *expected = URI_PATH_SEGMENT;

    const char *pointer;
    PARCURISegment *x = parcURISegment_Parse(expected, &pointer);
    PARCURISegment *y = parcURISegment_Parse(expected, &pointer);
    PARCURISegment *z = parcURISegment_Parse(expected, &pointer);

    parcObjectTesting_AssertEqualsFunction(parcURISegment_Equals, x, y, z, NULL);

    parcURISegment_Release(&x);
    parcURISegment_Release(&y);
    parcURISegment_Release(&z);
}
Пример #4
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Clone)
{
    char *expected = URI_PATH_SEGMENT;

    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(expected, &pointer);
    PARCURISegment *copy = parcURISegment_Clone(segment);

    assertTrue(segment != copy, "Expected different instances of equal segments.");

    int comparison = parcURISegment_Compare(segment, copy);
    assertTrue(comparison == 0, "Expected equal segments.");

    assertTrue(parcURISegment_Equals(segment, copy), "Expected equal segments");

    parcURISegment_Release(&copy);
    parcURISegment_Release(&segment);
}
Пример #5
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Create)
{
    char *expected = URI_PATH_SEGMENT;

    PARCURISegment *segment = parcURISegment_Create(strlen(expected), (unsigned char *) expected);
    assertNotNull(segment, "Expected non-null result.");

    parcURISegment_Release(&segment);
}
Пример #6
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Release)
{
    char *expected = URI_PATH_SEGMENT;

    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(expected, &pointer);
    assertNotNull(segment, "Expected non-null result.");

    parcURISegment_Release(&segment);
    assertNull(segment, "Expected destroy to null the pointer");
}
Пример #7
0
PARCBufferComposer *
ccnxNameSegment_BuildString(const CCNxNameSegment *segment, PARCBufferComposer *composer)
{
    ccnxNameLabel_BuildString(segment->label, composer);

    if (ccnxNameSegment_Length(segment) > 0) {
        PARCURISegment *uriSegment = parcURISegment_CreateFromBuffer(ccnxNameSegment_GetValue(segment));
        parcURISegment_BuildString(uriSegment, composer);

        parcURISegment_Release(&uriSegment);
    }

    return composer;
}
Пример #8
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_ToString)
{
    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(URI_PATH_SEGMENT, &pointer);
    assertNotNull(segment, "Expected non-null result.");
    assertTrue(*pointer == 0, "Expected pointer to point to the null terminating byte.");

    char *actual = parcURISegment_ToString(segment);

    assertTrue(strcmp(URI_PATH_SEGMENT, actual) == 0, "Expected %s, actual %s", URI_PATH_SEGMENT, actual);

    parcURISegment_Release(&segment);

    parcMemory_Deallocate((void **) &actual);
}
Пример #9
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_GetBuffer)
{
    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(URI_PATH_SEGMENT, &pointer);
    assertNotNull(segment, "Expected non-null result.");
    assertTrue(*pointer == 0, "Expected pointer to point to the null terminating byte.");

    PARCBuffer *buffer = parcURISegment_GetBuffer(segment);

    char *expected = URI_PATH_SEGMENT;
    char *actual = (char *) parcBuffer_Overlay(buffer, 0);
    size_t compareLength = strlen(URI_PATH_SEGMENT);
    assertTrue(strncmp(expected, actual, compareLength), "Buffer does not contain original data.");

    parcURISegment_Release(&segment);
}
Пример #10
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Length)
{
    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(URI_PATH_SEGMENT, &pointer);
    assertNotNull(segment,
                  "Expected non-null result.");
    assertTrue(*pointer == 0,
               "Expected pointer to point to the null terminating byte.");

    size_t actual = parcURISegment_Length(segment);

    assertTrue(actual == 39,
               "Expected 39, actual %zd", actual);

    parcURISegment_Release(&segment);
}
Пример #11
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Parse_WithExtraSlashes)
{
    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(URI_PATH_SEGMENT_WITH_SLASHES, &pointer);
    assertNotNull(segment, "Expected non-null result.");

    char *expectedBytes = URI_PATH_SEGMENT;

    char *actualBytes = parcURISegment_ToString(segment);

    assertTrue(strcmp(expectedBytes, actualBytes) == 0,
               "Expected %s actual %s", expectedBytes, actualBytes);
    parcMemory_Deallocate((void **) &actualBytes);

    assertTrue(parcURISegment_Length(segment) == 39,
               "Expected 39, actual %zd", parcURISegment_Length(segment));
    assertTrue(*pointer == '/', "Expected pointer to point to the slash character: %c", *pointer);

    parcURISegment_Release(&segment);
}
Пример #12
0
LONGBOW_TEST_CASE(parcURISegment, parcURISegment_Parse)
{
    char *expected = URI_PATH_SEGMENT;

    const char *pointer;
    PARCURISegment *segment = parcURISegment_Parse(expected, &pointer);
    assertNotNull(segment, "Expected non-null result.");

    char *expectedBytes = URI_PATH_SEGMENT;

    char *actualBytes = parcURISegment_ToString(segment);

    assertTrue(strcmp(expectedBytes, actualBytes) == 0,
               "Expected %s actual %s", expectedBytes, actualBytes);
    parcMemory_Deallocate((void **) &actualBytes);

    assertTrue(parcURISegment_Length(segment) == 39,
               "Expected 39, actual %zd", parcURISegment_Length(segment));
    assertTrue(*pointer == 0, "Expected pointer to point to the null terminating byte.");

    parcURISegment_Release(&segment);
}