Summary
Add compile tests ensuring each public JSON header includes everything required for independent use.
Current behavior
The module exposes:
build.hpp;
convert.hpp;
dumps.hpp;
jpath.hpp;
json.hpp;
loads.hpp;
Simple.hpp.
Headers are often included through the umbrella header, which can hide missing direct dependencies.
Expected behavior
Every public header must compile as the first and only Vix JSON include in a translation unit.
Scope
Suggested files
modules/json/tests/headers/build_header_test.cpp
modules/json/tests/headers/convert_header_test.cpp
modules/json/tests/headers/dumps_header_test.cpp
modules/json/tests/headers/jpath_header_test.cpp
modules/json/tests/headers/json_header_test.cpp
modules/json/tests/headers/loads_header_test.cpp
modules/json/tests/headers/simple_header_test.cpp
modules/json/tests/CMakeLists.txt
Acceptance criteria
Non-goals
This issue does not include:
- reducing compile time;
- changing public APIs;
- testing private headers;
- module-header generation.
Summary
Add compile tests ensuring each public JSON header includes everything required for independent use.
Current behavior
The module exposes:
build.hpp;convert.hpp;dumps.hpp;jpath.hpp;json.hpp;loads.hpp;Simple.hpp.Headers are often included through the umbrella header, which can hide missing direct dependencies.
Expected behavior
Every public header must compile as the first and only Vix JSON include in a translation unit.
Scope
Suggested files
modules/json/tests/headers/build_header_test.cppmodules/json/tests/headers/convert_header_test.cppmodules/json/tests/headers/dumps_header_test.cppmodules/json/tests/headers/jpath_header_test.cppmodules/json/tests/headers/json_header_test.cppmodules/json/tests/headers/loads_header_test.cppmodules/json/tests/headers/simple_header_test.cppmodules/json/tests/CMakeLists.txtAcceptance criteria
Non-goals
This issue does not include: