// Copyright (c) Umbraco. // See LICENSE for more details. using NUnit.Framework; using Umbraco.Cms.Core.Events; namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Scoping; [TestFixture] public class EventNameExtractorTests { [Test] public void Find_Event_Ing() { var found = EventNameExtractor.FindEvent(this, new SaveEventArgs("test"), EventNameExtractor.MatchIngNames); Assert.IsTrue(found.Success); Assert.AreEqual("FoundMe", found.Result.Name); } [Test] public void Find_Event_Non_Ing() { var found = EventNameExtractor.FindEvent(this, new SaveEventArgs("test"), EventNameExtractor.MatchNonIngNames); Assert.IsTrue(found.Success); Assert.AreEqual("FindingMe", found.Result.Name); } [Test] public void Ambiguous_Match() { var found = EventNameExtractor.FindEvent(this, new SaveEventArgs(0), EventNameExtractor.MatchIngNames); Assert.IsFalse(found.Success); Assert.AreEqual(EventNameExtractorError.Ambiguous, found.Result.Error); } [Test] public void No_Match() { var found = EventNameExtractor.FindEvent(this, new SaveEventArgs(0), EventNameExtractor.MatchIngNames); Assert.IsFalse(found.Success); Assert.AreEqual(EventNameExtractorError.NoneFound, found.Result.Error); } public static event EventHandler> FindingMe; public static event EventHandler> FoundMe; // will lead to ambiguous matches public static event EventHandler> SavingThis; public static event EventHandler> SavedThis; public static event EventHandler> SavingThat; public static event EventHandler> SavedThat; }