Skip to content

Support dot-path as full name for Namespace #93

@gunnarx

Description

@gunnarx

It is possible (according to plan but not implemented) to specify the name of a namespace using a dot-separated path with the same meaning as nesting nodes in YAML.

Example:

namespaces:
- name: A
  namespaces:
    - name: B
      namespaces:
      - name: C
        methods: ...
        properties: ...

can be written equivalently like this:

namespaces:
- name: A.B.C
  methods: ...
  properties: ...

(and also this is equivalent):

namespaces:
- name: A
  namespaces:
  - name: B.C
    methods: ...
    properties: ...

This is not yet implemented.

The tasks of this ticket are:

  • Update the documentation (if necessary) to reflect this correctly
  • Ensure the feature is implemented in each generation tool
  • Include appropriate unit tests that show the implementation working
  • The unit tests shall be implemented as follows:
    Introduce a new reusable test setup. The new test type shall search in a test directory for multiple test inputs and run each of them. This is similar to how the current test is set up. The new test categori shall however specify two IFEX core IDL trees as input (compared to the current tests that have one input and one expected output).
    The new test type shall compare and ensure that the output is equivalent for the two trees (otherwise display the difference). It must run multiple types of generations and use every generation tool, to check each pair of inputs, with each of the tools.

Comment:
We ought to already test correct Namespace output for one of the cases in other unit tests, and therefore this equivalence-comparison is enough to prove the feature. The infrastructure for the new test type can however be reused to compare other possible equivalent ways of writing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions