Compare commits

...
Author SHA1 Message Date
semantic-release-bot 7c3cda4f79 chore: 1.0.3
### @config-plugins/ios-stickers [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)

### Other chores

* **ios-stickers:** lint fix ([331ecb1](https://github.com/expo/config-plugins/commit/331ecb163f000578bc519ebe94f90d62374095d1))
2022-03-22 22:41:06 +00:00
Evan Bacon a78e569f54 test: add tests for core plugin methods (#64)
* test: add tests for core plugin methods

* Update test.yml
2022-03-22 17:38:19 -05:00
9 changed files with 120 additions and 7 deletions

No files matched your search

+3 -1
View File
@@ -40,6 +40,7 @@ jobs:
ios-stickers, ios-stickers,
react-native-ble-plx, react-native-ble-plx,
react-native-blob-util, react-native-blob-util,
react-native-branch,
react-native-google-cast, react-native-google-cast,
react-native-pdf, react-native-pdf,
# react-native-quick-actions, # react-native-quick-actions,
@@ -58,7 +59,8 @@ jobs:
run: yarn lint --max-warnings 0 run: yarn lint --max-warnings 0
working-directory: packages/${{ matrix.package }} working-directory: packages/${{ matrix.package }}
- name: Test ${{ matrix.package }} - name: Test ${{ matrix.package }}
run: cd packages/${{ matrix.package }} && yarn test run: yarn test
working-directory: packages/${{ matrix.package }}
env: env:
CI: true CI: true
EXPO_DEBUG: true EXPO_DEBUG: true
+7
View File
@@ -1,3 +1,10 @@
### @config-plugins/ios-stickers [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
### Other chores
* **ios-stickers:** lint fix ([331ecb1](https://github.com/expo/config-plugins/commit/331ecb163f000578bc519ebe94f90d62374095d1))
### @config-plugins/ios-stickers [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22) ### @config-plugins/ios-stickers [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
+1 -1
View File
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeStickersProps = void 0; exports.normalizeStickersProps = void 0;
const path_1 = __importDefault(require("path"));
const schema_utils_1 = require("schema-utils"); const schema_utils_1 = require("schema-utils");
const options_json_1 = __importDefault(require("./options.json")); const options_json_1 = __importDefault(require("./options.json"));
const withStickerAssets_1 = require("./withStickerAssets"); const withStickerAssets_1 = require("./withStickerAssets");
const withStickerInfoPlist_1 = require("./withStickerInfoPlist"); const withStickerInfoPlist_1 = require("./withStickerInfoPlist");
const withStickerXcodeTarget_1 = require("./withStickerXcodeTarget"); const withStickerXcodeTarget_1 = require("./withStickerXcodeTarget");
const path_1 = __importDefault(require("path"));
// TODO: Maybe the name is better to use as a prop... // TODO: Maybe the name is better to use as a prop...
const sizeColumnMap = { const sizeColumnMap = {
4: "small", 4: "small",
+3 -3
View File
@@ -70,9 +70,9 @@ const pbxTargetDependency = "PBXTargetDependency";
const pbxContainerItemProxy = "PBXContainerItemProxy"; const pbxContainerItemProxy = "PBXContainerItemProxy";
function addStickersTarget(proj, name, bundleId, subfolder) { function addStickersTarget(proj, name, bundleId, subfolder) {
// Setup uuid and name of new target // Setup uuid and name of new target
let targetUuid = proj.generateUuid(); const targetUuid = proj.generateUuid();
let targetType = "app_extension_messages_sticker_pack"; const targetType = "app_extension_messages_sticker_pack";
let targetName = name.trim(); const targetName = name.trim();
const bundleName = subfolder.trim().split(" ").join("-"); const bundleName = subfolder.trim().split(" ").join("-");
// Check type against list of allowed target types // Check type against list of allowed target types
if (!targetName) { if (!targetName) {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@config-plugins/ios-stickers", "name": "@config-plugins/ios-stickers",
"version": "1.0.2", "version": "1.0.3",
"description": "Config plugin to auto configure iOS iMessage stickers", "description": "Config plugin to auto configure iOS iMessage stickers",
"main": "build/withStickerPack.js", "main": "build/withStickerPack.js",
"types": "build/withStickerPack.d.ts", "types": "build/withStickerPack.d.ts",
@@ -0,0 +1,24 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.expo.mycoolapp">
<uses-permission android:name="android.permission.INTERNET" />
<queries>
<!-- Support checking for http(s) links via the Linking API -->
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
</queries>
<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme">
<activity android:name=".MainActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
@@ -0,0 +1,53 @@
import { AndroidConfig } from "@expo/config-plugins";
import { resolve } from "path";
import { getBranchApiKey, setBranchApiKey } from "../withBranchAndroid";
const { findMetaDataItem, getMainApplication, readAndroidManifestAsync } =
AndroidConfig.Manifest;
const sampleManifestPath = resolve(
__dirname,
"./fixtures",
"react-native-AndroidManifest.xml"
);
describe(getBranchApiKey, () => {
it(`returns null if no android branch api key is provided`, () => {
expect(getBranchApiKey({ android: { config: {} } } as any)).toBe(null);
});
it(`returns apikey if android branch api key is provided`, () => {
expect(
getBranchApiKey({
android: { config: { branch: { apiKey: "MY-API-KEY" } } },
} as any)
).toBe("MY-API-KEY");
});
});
describe(setBranchApiKey, () => {
it("sets branch api key in AndroidManifest.xml if given", async () => {
let androidManifestJson = await readAndroidManifestAsync(
sampleManifestPath
);
androidManifestJson = await setBranchApiKey(
"MY-API-KEY",
androidManifestJson
);
let mainApplication = getMainApplication(androidManifestJson);
expect(
findMetaDataItem(mainApplication, "io.branch.sdk.BranchKey")
).toBeGreaterThan(-1);
// Unset the item
androidManifestJson = await setBranchApiKey(null, androidManifestJson);
mainApplication = getMainApplication(androidManifestJson);
expect(findMetaDataItem(mainApplication, "io.branch.sdk.BranchKey")).toBe(
-1
);
});
});
@@ -0,0 +1,27 @@
import { getBranchApiKey, setBranchApiKey } from "../withBranchIOS";
describe(getBranchApiKey, () => {
it(`returns null if no api key is provided`, () => {
expect(getBranchApiKey({})).toBe(null);
});
it(`returns the api key if provided`, () => {
expect(
getBranchApiKey({ ios: { config: { branch: { apiKey: "123" } } } })
).toBe("123");
});
});
describe(setBranchApiKey, () => {
it(`sets branch_key.live if the api key is given`, () => {
expect(setBranchApiKey("123", {})).toMatchObject({
branch_key: {
live: "123",
},
});
});
it(`makes no changes to the infoPlist no api key is provided`, () => {
expect(setBranchApiKey(null, {})).toMatchObject({});
});
});
@@ -9,7 +9,7 @@ export function getBranchApiKey(config: Pick<ExpoConfig, "ios">) {
} }
export function setBranchApiKey( export function setBranchApiKey(
apiKey: string, apiKey: string | null,
infoPlist: InfoPlist infoPlist: InfoPlist
): InfoPlist { ): InfoPlist {
if (apiKey === null) { if (apiKey === null) {