bingo 项目提交
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
#if UNITY_2018_1_OR_NEWER && UNITY_IOS
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using NUnit.Framework;
|
||||
using UnityEditor.iOS.Xcode;
|
||||
|
||||
namespace Unity.Advertisement.IosSupport.Editor.Tests
|
||||
{
|
||||
public class PListTests
|
||||
{
|
||||
[SetUp]
|
||||
public void BeforeEach()
|
||||
{
|
||||
File.Copy("Assets/Info_Test.plist", "Assets/Info.plist");
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void AfterEach()
|
||||
{
|
||||
File.Delete("Assets/Info.plist");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[TestCase("Assets/", "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n <dict>\n <key>CFBundleDevelopmentRegion</key>\n <string>en</string>\n <key>CFBundleDocumentTypes</key>\n <dict>\n <key>SKAdNetworkItems</key>\n <dict />\n </dict>\n <key>CFBundleExecutable</key>\n <string>$(EXECUTABLE_NAME)</string>\n <key>CFBundleIdentifier</key>\n <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n <key>CFBundleInfoDictionaryVersion</key>\n <string>6.0</string>\n <key>CFBundleName</key>\n <string>$(PRODUCT_NAME)</string>\n <key>CFBundlePackageType</key>\n <string>BNDL</string>\n <key>CFBundleShortVersionString</key>\n <string>1.0</string>\n <key>CFBundleSignature</key>\n <string>????</string>\n <key>CFBundleVersion</key>\n <string>1</string>\n <key>NSAppTransportSecurity</key>\n <dict>\n <key>NSAllowsArbitraryLoads</key>\n <true />\n </dict>\n <key>SKAdNetworkItems</key>\n <array>\n <dict>\n <key>SKAdNetworkIdentifier</key>\n <string>4DZT52R2T5.skadnetwork</string>\n </dict>\n <dict>\n <key>SKAdNetworkIdentifier</key>\n <string>123456.skadnetwork</string>\n </dict>\n </array>\n </dict>\n</plist>\n")]
|
||||
public void WriteSkAdNetworkIdsToInfoPlist(string rootFolder, string expectedContents)
|
||||
{
|
||||
var ids = new HashSet<string> { "4DZT52R2T5.skadnetwork", "123456.skadnetwork" };
|
||||
PostProcessBuildPlist.WriteSkAdNetworkIdsToInfoPlist(ids, rootFolder);
|
||||
Assert.That(File.ReadAllText(rootFolder + "Info.plist"), Is.EqualTo(expectedContents), "Info.plist was not updated as expected");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[TestCase("4DZT52R2T5.skadnetwork", true)]
|
||||
[TestCase("invalid.skadnetwork", false)]
|
||||
[TestCase("", false)]
|
||||
[TestCase(null, false)]
|
||||
public void PlistContainsAdNetworkId(string adNetworkId, bool expectedValue)
|
||||
{
|
||||
var plistArray = new PlistElementArray();
|
||||
plistArray.AddDict().SetString("SKAdNetworkIdentifier", "4DZT52R2T5.skadnetwork");
|
||||
Assert.That(PostProcessBuildPlist.PlistContainsAdNetworkId(plistArray, adNetworkId), Is.EqualTo(expectedValue));
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9a7d8f7d4212542229d19c5bb4e3b06d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,57 @@
|
||||
#if UNITY_2018_1_OR_NEWER && UNITY_IOS
|
||||
using NUnit.Framework;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.Advertisement.IosSupport.Editor.Tests
|
||||
{
|
||||
public class SkAdNetworkParserTests
|
||||
{
|
||||
[Test]
|
||||
[Category("WorksInIsolation")]
|
||||
[TestCase(SkAdNetworkFileExtension.XML)]
|
||||
[TestCase(SkAdNetworkFileExtension.JSON)]
|
||||
[TestCase(SkAdNetworkFileExtension.NONE)]
|
||||
public void ParserHandlesExtensionType(string parserType)
|
||||
{
|
||||
Assert.That(SkAdNetworkParser.GetParser(parserType).GetExtension(), Is.EqualTo(parserType), "GetExtension did not match the expected value");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[TestCase(SkAdNetworkFileExtension.XML, "Assets/SkAdNetworks.xml", new[] {"4DZT52R2T5.skadnetwork", "123456.skadnetwork"})]
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, "Assets/SkAdNetworks.json", new[] {"4DZT52R2T5.skadnetwork", "bvpn9ufa9b.skadnetwork"})]
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, "Assets/AdditionalTestData/SkAdNetworks.json", new[] {"4FZDC2EVR5.skadnetwork", "V72QYCH5UU.skadnetwork"})]
|
||||
[TestCase(SkAdNetworkFileExtension.NONE, "Assets/SkAdNetworks", new[] {"yclnxrl5pm.skadnetwork","wg4vff78zm.skadnetwork","238da6jt44.skadnetwork","4pfyvq9l8r.skadnetwork","4468km3ulz.skadnetwork","m8dbw4sv7c.skadnetwork","wzmmz9fp6w.skadnetwork","zmvfpc5aq8.skadnetwork","5lm9lj6jb7.skadnetwork","mlmmfzh3r3.skadnetwork","8s468mfl3y.skadnetwork","44n7hlldy6.skadnetwork","5a6flpkh64.skadnetwork","2u9pt9hc89.skadnetwork","3rd42ekr43.skadnetwork","424m5254lk.skadnetwork","ppxm28t8ap.skadnetwork","v79kvwwj4g.skadnetwork","4fzdc2evr5.skadnetwork","cstr6suwn9.skadnetwork","3qy4746246.skadnetwork","bvpn9ufa9b.skadnetwork","9rd848q2bz.skadnetwork","f73kdq92p3.skadnetwork","ydx93a7ass.skadnetwork","44jx6755aq.skadnetwork","v72qych5uu.skadnetwork","glqzh8vgby.skadnetwork","hs6bdukanm.skadnetwork","prcb7njmu6.skadnetwork","c6k4g5qg8m.skadnetwork","3sh42y64q3.skadnetwork","578prtvx9j.skadnetwork","4dzt52r2t5.skadnetwork","7ug5zh24hu.skadnetwork","9t245vhmpl.skadnetwork","tl55sbb4fm.skadnetwork","22mmun2rn5.skadnetwork", "488r3q3dtq.skadnetwork","t38b2kh725.skadnetwork","f38h382jlk.skadnetwork","lr83yxwka7.skadnetwork","kbd757ywx3.skadnetwork","av6w8kgt66.skadnetwork","24t9a8vw3c.skadnetwork"})]
|
||||
public void ParserCanParseSourceAsExpected(string parserType, string sourceDataPath, string[] expectedResults) {
|
||||
var result = SkAdNetworkParser.GetParser(parserType).ParseSource(new SkAdNetworkLocalSource(sourceDataPath));
|
||||
Assert.That(result, Is.EquivalentTo(expectedResults), "Parser did not return the expected results");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[TestCase(SkAdNetworkFileExtension.XML, "Assets/SkAdNetworks_Bad1.xml", new[] {"123456.skadnetwork"})] //Invalid Key
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, "Assets/SkAdNetworks_Bad1.json", new[] {"bvpn9ufa9b.skadnetwork"})] //Invalid Key
|
||||
[TestCase(SkAdNetworkFileExtension.XML, "Assets/SkAdNetworks_Bad2.xml", new string[] {})] //Data format corrupted
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, "Assets/SkAdNetworks_Bad2.json", new string[] {})] //Data format corrupted
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, "Assets/SkAdNetworks_Bad", new string[] {})] //Invalid protocol
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, "Assets/SkAdNetworks_Bad2", new string[] {})] //Invalid url
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, "Assets/SkAdNetworks_Bad3", new string[] {})] //Valid url to Data in an invalid format
|
||||
public void ParserCanHandleInvalidFiles(string parserType, string sourceDataPath, string[] expectedResults)
|
||||
{
|
||||
Assert.That(SkAdNetworkParser.GetParser(parserType).ParseSource(new SkAdNetworkLocalSource(sourceDataPath)), Is.EquivalentTo(expectedResults), "Parser did not return the expected results");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Category("WorksInIsolation")]
|
||||
[TestCase("-1")]
|
||||
[TestCase(null)]
|
||||
[TestCase("a")]
|
||||
[TestCase("xmls")]
|
||||
[TestCase("xml*")]
|
||||
[TestCase("*xml")]
|
||||
[TestCase(".xml")]
|
||||
public void InvalidParserType(string parserType)
|
||||
{
|
||||
Assert.IsNull(SkAdNetworkParser.GetParser(parserType));
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aaa756117fb2142798882ade06f4f9e0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,55 @@
|
||||
#if UNITY_2018_1_OR_NEWER && UNITY_IOS
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Unity.Advertisement.IosSupport.Editor.Tests
|
||||
{
|
||||
public class SkAdNetworkSourceTests
|
||||
{
|
||||
[Test]
|
||||
[Category("WorksInIsolation")]
|
||||
[TestCase("ExpectedPath/To/File")]
|
||||
public void LocalSourcePathSetOnCreate(string expectedPath)
|
||||
{
|
||||
Assert.That(new SkAdNetworkLocalSource(expectedPath).Path, Is.EqualTo(expectedPath), "Path was not properly set in constructor");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Category("WorksInIsolation")]
|
||||
[TestCase("ExpectedPath/To/File")]
|
||||
public void RemoteSourcePathSetOnCreate(string expectedPath)
|
||||
{
|
||||
Assert.That(new SkAdNetworkRemoteSource(expectedPath).Path, Is.EqualTo(expectedPath), "Path was not properly set in constructor");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[TestCase("Assets/SkAdNetworks.json")]
|
||||
[TestCase("Assets/SkAdNetworks.xml")]
|
||||
[TestCase("Assets/SkAdNetworks")]
|
||||
public void LocalSourceCanOpenStream(string testFilePath)
|
||||
{
|
||||
Assert.NotNull(new SkAdNetworkLocalSource(testFilePath).Open(), "Unable to open stream");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[TestCase("Assets/SkAdNetworksInvalidFilePath.json")]
|
||||
[TestCase("Assets/SkAdNetworksInvalidFilePath.xml")]
|
||||
[TestCase("Assets/SkAdNetworksInvalidFilePath")]
|
||||
public void LocalSourceInvalidFileThrowsException(string testFilePath)
|
||||
{
|
||||
Assert.Throws<FileNotFoundException>(() => new SkAdNetworkLocalSource(testFilePath).Open(), "FileNotFoundException should be thrown when the filepath is invalid");
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Category("WorksInIsolation")]
|
||||
[TestCase(SkAdNetworkFileExtension.XML, 1)]
|
||||
[TestCase(SkAdNetworkFileExtension.JSON, 2)]
|
||||
[TestCase(SkAdNetworkFileExtension.NONE, 2)]
|
||||
public void LocalSourceProviderFindsExpectedFiles(string extension, int expectedCount)
|
||||
{
|
||||
Assert.That(new SkAdNetworkLocalSourceProvider().GetSources("SKAdNetworks", extension).Count(), Is.EqualTo(expectedCount), "GetSources() did not return the expected count");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b9698abccc22b4f979250ee7c80107b0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "Unity.Advertisement.IosSupport.Editor.Tests",
|
||||
"references": [
|
||||
"Unity.Advertisement.IosSupport",
|
||||
"Unity.Advertisement.IosSupport.Editor"
|
||||
],
|
||||
"optionalUnityReferences": [
|
||||
"TestAssemblies"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": []
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 27574058f8bb942fe9dc91742aa31f4b
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user