mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Merge pull request #5542 from jtkech/patch-2
##5369: Allows simple properties null checking on a dynamic ContentItem or ContentPart Fixes #5369
This commit is contained in:
@@ -76,5 +76,39 @@ namespace Orchard.Tests.ContentManagement {
|
||||
|
||||
Assert.That((object)testingPartDynamic, Is.AssignableTo<IEnumerable<ContentPart>>());
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void NullCheckingCanBeDoneOnProperties() {
|
||||
var contentItem = new ContentItem();
|
||||
var contentPart = new ContentPart { TypePartDefinition = new ContentTypePartDefinition(new ContentPartDefinition("FooPart"), new SettingsDictionary()) };
|
||||
var contentField = new ContentField { PartFieldDefinition = new ContentPartFieldDefinition(new ContentFieldDefinition("FooType"), "FooField", new SettingsDictionary()) };
|
||||
|
||||
dynamic item = contentItem;
|
||||
dynamic part = contentPart;
|
||||
|
||||
Assert.That(item.FooPart == null, Is.True);
|
||||
Assert.That(item.FooPart != null, Is.False);
|
||||
|
||||
contentItem.Weld(contentPart);
|
||||
|
||||
Assert.That(item.FooPart == null, Is.False);
|
||||
Assert.That(item.FooPart != null, Is.True);
|
||||
Assert.That(item.FooPart, Is.SameAs(contentPart));
|
||||
|
||||
Assert.That(part.FooField == null, Is.True);
|
||||
Assert.That(part.FooField != null, Is.False);
|
||||
Assert.That(item.FooPart.FooField == null, Is.True);
|
||||
Assert.That(item.FooPart.FooField != null, Is.False);
|
||||
|
||||
contentPart.Weld(contentField);
|
||||
|
||||
Assert.That(part.FooField == null, Is.False);
|
||||
Assert.That(part.FooField != null, Is.True);
|
||||
Assert.That(item.FooPart.FooField == null, Is.False);
|
||||
Assert.That(item.FooPart.FooField != null, Is.True);
|
||||
Assert.That(part.FooField, Is.SameAs(contentField));
|
||||
Assert.That(item.FooPart.FooField, Is.SameAs(contentField));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -52,10 +52,11 @@ namespace Orchard.ContentManagement {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
result = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -74,7 +74,8 @@ namespace Orchard.ContentManagement {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
result = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user