Move JS-native version check to its own module + unit tests + prefix Obj-C macro w/RCT

Summary:
- The version check that ensures the JS and native versions match is now in its own module for two reasons: it is easier to test and it allows react-native-windows to override just this module to implement its own version check (ex: more advanced checks for RNW-specific code).
- Added unit tests for the version checking to specify its behavior more clearly, including parity between dev and prod to avoid prod-only behavior and mitigate SEVs.
- Prefixed the Obj-C `#define` with `RCT_` to conform with other RN globals.
Closes https://github.com/facebook/react-native/pull/16403

Differential Revision: D6068491

Pulled By: hramos

fbshipit-source-id: 2b255b93982fb9d1b655fc62cb17b126bd5a939a
This commit is contained in:
James Ide
2017-10-16 14:20:02 -07:00
committed by Facebook Github Bot
parent 5f2c465ecc
commit 7733d40237
6 changed files with 177 additions and 22 deletions

View File

@@ -9,7 +9,7 @@
* of patent rights can be found in the PATENTS file in the same directory.
*/
#define REACT_NATIVE_VERSION @{ \
#define RCT_REACT_NATIVE_VERSION @{ \
@"major": ${major}, \
@"minor": ${minor}, \
@"patch": ${patch}, \