Class MenuDraftTransitionTargetsTests
EditMode tests for Serenity.Menu.Infrastructure.Editor.Builder.MenuDraftTransitionTargets.Merge(System.Collections.Generic.IReadOnlyList{Serenity.Menu.Infrastructure.Settings.Editor.MenuTransitionTargetCandidate},System.Collections.Generic.IReadOnlyList{Serenity.Menu.Infrastructure.Editor.Builder.MenuDraft},Serenity.Menu.Infrastructure.Editor.Builder.MenuDraft), the rule deciding what a Menu Manager draft's TRANSITION option may target. Driven with a hand-built project list rather than MenuTransitionTargetCatalog, so the assertions describe the rule instead of whatever assets the test project happens to hold.
Inherited Members
Namespace: Serenity.Menu.Tests.Editor
Assembly: Serenity.Menu.Tests.Editor.dll
Syntax
public class MenuDraftTransitionTargetsTests
Constructors
MenuDraftTransitionTargetsTests()
Declaration
public MenuDraftTransitionTargetsTests()
Methods
Merge_DraftLoadedFromAGuidlessAsset_StillReplacesTheProjectEntry()
A menu asset saved with no guid of its own is listed by its id (see KeyFor(UnityMenuSettingsDefinition)), while FromExisting(UnityMenuSettingsDefinition) seeds the scratch copy a guid — so the draft's key and its asset's key differ, and only claiming both keeps the same menu from being offered twice.
Declaration
public void Merge_DraftLoadedFromAGuidlessAsset_StillReplacesTheProjectEntry()
Merge_DraftLoadedFromDisk_ReplacesTheProjectEntryWithTheSameKey()
Declaration
public void Merge_DraftLoadedFromDisk_ReplacesTheProjectEntryWithTheSameKey()
Merge_EditedDraftLoadedFromDisk_DoesNotOfferItsOwnProjectEntry()
The menu being edited is no target for itself: claiming the key of the asset it was loaded from is what keeps that asset's own project entry out of the dropdown the author is looking at.
Declaration
public void Merge_EditedDraftLoadedFromDisk_DoesNotOfferItsOwnProjectEntry()
Merge_ExcludesTheEditedDraft()
Declaration
public void Merge_ExcludesTheEditedDraft()
Merge_KeysADraftByItsGuidSoTheIdCanStillChange()
Declaration
public void Merge_KeysADraftByItsGuidSoTheIdCanStillChange()
Merge_LabelsADraftThatWillCreateANewAssetAsNew()
Declaration
public void Merge_LabelsADraftThatWillCreateANewAssetAsNew()
Merge_NeverProducesALabelCarryingAPathSeparator()
A hosted-instance target embeds '/' in its id, which Unity's popup would otherwise split into an unreachable submenu tree.
Declaration
public void Merge_NeverProducesALabelCarryingAPathSeparator()
Merge_OrdersGoBackThenDraftsThenProjectTargets()
Declaration
public void Merge_OrdersGoBackThenDraftsThenProjectTargets()
Merge_SkipsADraftWithNoGuid()
Declaration
public void Merge_SkipsADraftWithNoGuid()
Merge_SkipsADraftWithNoIdYet()
Declaration
public void Merge_SkipsADraftWithNoIdYet()
TearDown()
Declaration
public void TearDown()