@Test public void differentNativeConfig_ok() throws Exception { String filePath = "native.pb"; byte[] fileContentA = NativeLibraries.getDefaultInstance().toByteArray(); byte[] fileContentB = NativeLibraries.newBuilder() .addDirectory(TargetedNativeDirectory.getDefaultInstance()) .build() .toByteArray(); assertThat(fileContentA).isNotEqualTo(fileContentB); BundleModule moduleA = new BundleModuleBuilder("a") .addFile(filePath, fileContentA) .setManifest(androidManifest("com.test.app")) .build(); BundleModule moduleB = new BundleModuleBuilder("b") .addFile(filePath, fileContentB) .setManifest(androidManifest("com.test.app")) .build(); new EntryClashValidator().validateAllModules(ImmutableList.of(moduleA, moduleB)); }
@Test public void specialFiles_areNotStoredAsEntries() throws Exception { BundleModule bundleModule = BundleModule.builder() .setName(BundleModuleName.create("testModule")) .setBundleConfig(DEFAULT_BUNDLE_CONFIG) .addEntry( InMemoryModuleEntry.ofFile( "manifest/AndroidManifest.xml", androidManifest("com.test.app").toByteArray())) .addEntry( InMemoryModuleEntry.ofFile("assets.pb", Assets.getDefaultInstance().toByteArray())) .addEntry( InMemoryModuleEntry.ofFile( "native.pb", NativeLibraries.getDefaultInstance().toByteArray())) .addEntry( InMemoryModuleEntry.ofFile( "resources.pb", ResourceTable.getDefaultInstance().toByteArray())) .build(); assertThat(bundleModule.getEntries()).isEmpty(); }
public BundleModuleBuilder setNativeConfig(NativeLibraries nativeConfig) { addFile("native.pb", nativeConfig.toByteArray()); return this; }
@Test public void correctNativeProtoFile_parsedAndReturned() throws Exception { NativeLibraries nativeConfig = NativeLibraries.newBuilder() .addDirectory(TargetedNativeDirectory.newBuilder().setPath("native/x86")) .build(); BundleModule bundleModule = createMinimalModuleBuilder() .addEntry(InMemoryModuleEntry.ofFile("native.pb", nativeConfig.toByteArray())) .build(); assertThat(bundleModule.getNativeConfig()).hasValue(nativeConfig); }