bingo 项目提交

This commit is contained in:
2026-04-20 13:49:36 +08:00
commit ad5920ac6a
5585 changed files with 1216243 additions and 0 deletions
@@ -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:
@@ -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": []
}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 27574058f8bb942fe9dc91742aa31f4b
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: