Example #1
0
def test_parameter__no_link(empty_generating_api):
    ref = TypeRef("lang")
    ref.name = "MyType"
    ref.prefix = "const "
    ref.suffix = " &"
    ref.id = "lang-tomtom_1_MyType"

    param = Parameter()
    param.type = ref
    param.name = "arg"

    helper = TemplateHelper(empty_generating_api)
    assert helper.parameter(param, link=False) == "const MyType & arg"
Example #2
0
def test_print_ref__no_link__empty_closure(api_mock):
    return_type = TypeRef("lang")
    return_type.name = "MyType"
    return_type.prefix = "const "
    return_type.suffix = " &"
    return_type.id = "lang-tomtom_1_MyType"

    ref = TypeRef("lang")
    ref.args = []
    ref.returns = return_type

    helper = TemplateHelper(api_mock)
    assert helper.print_ref(ref, link=False) == "const MyType &()"
Example #3
0
def test_parameter__no_name(empty_generating_api):
    ref = TypeRef("lang")
    ref.name = "MyType"
    ref.prefix = "const "
    ref.suffix = " &"
    ref.id = "lang-tomtom_1_MyType"

    param = Parameter()
    param.type = ref
    param.name = ""

    helper = TemplateHelper(empty_generating_api)
    assert helper.parameter(
        param) == "const xref:lang-tomtom_1_MyType[++MyType++] &"
Example #4
0
def test_method_signature__single_param__too_wide(empty_generating_api):
    method = Compound("lang")
    method.name = "ShortMethod"

    method.returns = ReturnValue()
    method.returns.type = TypeRef("lang", "void")

    method.params = [Parameter()]
    method.params[0].name = "value"
    method.params[0].type = TypeRef("lang", "int")

    helper = TemplateHelper(empty_generating_api)
    assert (helper.method_signature(method, max_width=20) == """\
void ShortMethod(
    int value)""")
Example #5
0
def test_parameter__default_value(empty_generating_api):
    ref = TypeRef("lang")
    ref.name = "MyType"
    ref.prefix = "const "
    ref.suffix = " &"
    ref.id = "lang-tomtom_1_MyType"

    param = Parameter()
    param.type = ref
    param.name = "arg"
    param.default_value = "12"

    helper = TemplateHelper(empty_generating_api)
    assert helper.parameter(
        param, default_value=True
    ) == "const xref:lang-tomtom_1_MyType[++MyType++] & arg = 12"
Example #6
0
def test_method_signature__ignore_param_type_xref_length(empty_generating_api):
    method = Compound("lang")
    method.name = "ShortMethod"

    method.returns = ReturnValue()
    method.returns.type = TypeRef("lang", "void")

    method.params = [Parameter()]
    method.params[0].name = "value"
    method.params[0].type = TypeRef("lang", "int")
    method.params[0].type.id = "ab" * 80

    helper = TemplateHelper(empty_generating_api)
    assert (helper.method_signature(method) ==
            f"void ShortMethod(xref:{'ab' * 80}[++int++] "
            "value)")
Example #7
0
def test_print_ref__link__empty_closure(api_mock):
    return_type = TypeRef("lang")
    return_type.name = "MyType"
    return_type.prefix = "const "
    return_type.suffix = " &"
    return_type.id = "lang-tomtom_1_MyType"

    ref = TypeRef("lang")
    ref.args = []
    ref.returns = return_type

    helper = TemplateHelper(api_mock)
    assert helper.print_ref(
        ref) == "const xref:lang-tomtom_1_MyType[++MyType++] &()"
    api_mock.link_to_element.assert_called_once_with(return_type.id,
                                                     return_type.name)
Example #8
0
def test_print_ref__no_link__nested_types(api_mock):
    nested_type_with_id = TypeRef("lang")
    nested_type_with_id.name = "Nested1"
    nested_type_with_id.id = "lang-nested1"

    nested_type_without_id = TypeRef("lang")
    nested_type_without_id.name = "Nested2"

    ref = TypeRef("lang")
    ref.name = "MyType"
    ref.prefix = "const "
    ref.suffix = " &"
    ref.id = "lang-tomtom_1_MyType"
    ref.nested = [nested_type_with_id, nested_type_without_id]

    helper = TemplateHelper(api_mock)
    assert helper.print_ref(ref,
                            link=False) == "const MyType<Nested1, Nested2> &"
Example #9
0
def test_method_signature__multiple_params(empty_generating_api):
    method = Compound("lang")
    method.name = "ShortMethod"

    method.returns = ReturnValue()
    method.returns.type = TypeRef("lang", "void")

    method.params = [Parameter(), Parameter(), Parameter()]
    method.params[0].name = "value"
    method.params[0].type = TypeRef("lang", "int")
    method.params[1].name = "other_value"
    method.params[1].type = TypeRef("lang", "double")
    method.params[2].name = "text"
    method.params[2].type = TypeRef("lang", "std::string")

    helper = TemplateHelper(empty_generating_api)
    assert (helper.method_signature(method) == """\
void ShortMethod(int value,
                 double other_value,
                 std::string text)""")
Example #10
0
def test_print_ref__link__nested_types(api_mock):
    nested_type_with_id = TypeRef("lang")
    nested_type_with_id.name = "Nested1"
    nested_type_with_id.id = "lang-nested1"

    nested_type_without_id = TypeRef("lang")
    nested_type_without_id.name = "Nested2"

    ref = TypeRef("lang")
    ref.name = "MyType"
    ref.prefix = "const "
    ref.suffix = " &"
    ref.id = "lang-tomtom_1_MyType"
    ref.nested = [nested_type_with_id, nested_type_without_id]

    helper = TemplateHelper(api_mock)
    assert (
        helper.print_ref(ref) ==
        "const xref:lang-tomtom_1_MyType[++MyType++]<xref:lang-nested1[++Nested1++], "
        "Nested2> &")
    api_mock.link_to_element.assert_has_calls([
        call(nested_type_with_id.id, nested_type_with_id.name),
        call(ref.id, ref.name)
    ])
Example #11
0
def test_print_ref__link__none(api_mock):
    helper = TemplateHelper(api_mock)
    assert helper.print_ref(None) == ""
    api_mock.link_to_element.assert_not_called()
Example #12
0
def test_print_ref__no_link__name_only(api_mock):
    ref = TypeRef("lang")
    ref.name = "MyType"
    ref.id = "lang-mytype"
    helper = TemplateHelper(api_mock)
    assert helper.print_ref(ref, link=False) == "MyType"
Example #13
0
def test_print_ref__no_link__none(api_mock):
    helper = TemplateHelper(api_mock)
    assert helper.print_ref(None, link=False) == ""
Example #14
0
def helper(empty_generating_api, cpp_class):
    return TemplateHelper(empty_generating_api, cpp_class, InsertionFilter())
Example #15
0
def test_print_ref__link__empty(api_mock):
    ref = TypeRef("lang")
    helper = TemplateHelper(api_mock)
    assert helper.print_ref(ref) == ""
    api_mock.link_to_element.assert_not_called()
Example #16
0
def test_argument_list__empty(empty_generating_api):
    helper = TemplateHelper(empty_generating_api)
    assert helper.argument_list([]) == "()"
Example #17
0
def test_print_ref__no_link__empty(api_mock):
    ref = TypeRef("lang")
    helper = TemplateHelper(api_mock)
    assert helper.print_ref(ref, link=False) == ""
Example #18
0
def test_print_ref__link__name_only(api_mock):
    ref = TypeRef("lang")
    ref.name = "MyType"
    helper = TemplateHelper(api_mock)
    assert helper.print_ref(ref) == "MyType"
    api_mock.link_to_element.assert_not_called()