mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Merge
--HG-- branch : dev
This commit is contained in:
@@ -256,6 +256,10 @@
|
|||||||
<Project>{D10AD48F-407D-4DB5-A328-173EC7CB010F}</Project>
|
<Project>{D10AD48F-407D-4DB5-A328-173EC7CB010F}</Project>
|
||||||
<Name>Orchard.Roles</Name>
|
<Name>Orchard.Roles</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\Orchard.Web\Modules\Orchard.Scripting.Dlr\Orchard.Scripting.Dlr.csproj">
|
||||||
|
<Project>{2AD6973D-C7BB-416E-89FE-EEE34664E05F}</Project>
|
||||||
|
<Name>Orchard.Scripting.Dlr</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\Orchard.Web\Modules\Orchard.Scripting\Orchard.Scripting.csproj">
|
<ProjectReference Include="..\..\Orchard.Web\Modules\Orchard.Scripting\Orchard.Scripting.csproj">
|
||||||
<Project>{2AD6973D-C7BB-416E-89FE-EEE34664E05F}</Project>
|
<Project>{2AD6973D-C7BB-416E-89FE-EEE34664E05F}</Project>
|
||||||
<Name>Orchard.Scripting</Name>
|
<Name>Orchard.Scripting</Name>
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||||
<!-- system.web>
|
|
||||||
<machineKey xdt:Transform="Remove" />
|
|
||||||
<machineKey xdt:Transform="Insert" validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" decryption="AES" />
|
|
||||||
</system.web -->
|
|
||||||
<system.web.extensions xdt:Transform="Remove" />
|
<system.web.extensions xdt:Transform="Remove" />
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||||
<!-- system.web>
|
|
||||||
<machineKey xdt:Transform="Remove" />
|
|
||||||
<machineKey xdt:Transform="Insert" validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" decryption="AES" />
|
|
||||||
</system.web -->
|
|
||||||
<system.web.extensions xdt:Transform="Remove" />
|
<system.web.extensions xdt:Transform="Remove" />
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -40,7 +40,6 @@
|
|||||||
<defaultSettings timeout="00:30:00"/>
|
<defaultSettings timeout="00:30:00"/>
|
||||||
</system.transactions>
|
</system.transactions>
|
||||||
<system.web>
|
<system.web>
|
||||||
<machineKey validationKey="013B82F217ABB7EAB1F699E4E5B4D290030644D435994692354DAE82B06568B058BFE3C57BF199A41FFDBC84F3BC74D9C5BD96D1265F36A22D58347B591AC8DD" decryptionKey="04797035C490263D73ED991C84C5DFCD0D0206AD4F12BC3638A38FBEABEBB8C7" validation="SHA1" decryption="AES" />
|
|
||||||
|
|
||||||
<httpRuntime requestValidationMode="2.0" />
|
<httpRuntime requestValidationMode="2.0" />
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
@@ -77,7 +77,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Pages", "..\Orchard
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.PublishLater", "..\Orchard.Web\Modules\Orchard.PublishLater\Orchard.PublishLater.csproj", "{C889167C-E52C-4A65-A419-224B3D1B957D}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.PublishLater", "..\Orchard.Web\Modules\Orchard.PublishLater\Orchard.PublishLater.csproj", "{C889167C-E52C-4A65-A419-224B3D1B957D}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Scripting", "..\Orchard.Web\Modules\Orchard.Scripting\Orchard.Scripting.csproj", "{2AD6973D-C7BB-416E-89FE-EEE34664E05F}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Scripting", "..\Orchard.Web\Modules\Orchard.Scripting\Orchard.Scripting.csproj", "{99002B65-86F7-415E-BF4A-381AA8AB9CCC}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Scripting.Dlr", "..\Orchard.Web\Modules\Orchard.Scripting.Dlr\Orchard.Scripting.Dlr.csproj", "{2AD6973D-C7BB-416E-89FE-EEE34664E05F}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@@ -225,6 +227,10 @@ Global
|
|||||||
{C889167C-E52C-4A65-A419-224B3D1B957D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{C889167C-E52C-4A65-A419-224B3D1B957D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{C889167C-E52C-4A65-A419-224B3D1B957D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{C889167C-E52C-4A65-A419-224B3D1B957D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{C889167C-E52C-4A65-A419-224B3D1B957D}.Release|Any CPU.Build.0 = Release|Any CPU
|
{C889167C-E52C-4A65-A419-224B3D1B957D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{99002B65-86F7-415E-BF4A-381AA8AB9CCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{99002B65-86F7-415E-BF4A-381AA8AB9CCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{99002B65-86F7-415E-BF4A-381AA8AB9CCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{99002B65-86F7-415E-BF4A-381AA8AB9CCC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{2AD6973D-C7BB-416E-89FE-EEE34664E05F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{2AD6973D-C7BB-416E-89FE-EEE34664E05F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{2AD6973D-C7BB-416E-89FE-EEE34664E05F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{2AD6973D-C7BB-416E-89FE-EEE34664E05F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{2AD6973D-C7BB-416E-89FE-EEE34664E05F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{2AD6973D-C7BB-416E-89FE-EEE34664E05F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
@@ -262,6 +268,7 @@ Global
|
|||||||
{085948FF-0E9B-4A9A-B564-F8B8B4BDDDBC} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
{085948FF-0E9B-4A9A-B564-F8B8B4BDDDBC} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
||||||
{3420C92A-747F-4990-BA08-F2C9531E44AD} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
{3420C92A-747F-4990-BA08-F2C9531E44AD} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
||||||
{C889167C-E52C-4A65-A419-224B3D1B957D} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
{C889167C-E52C-4A65-A419-224B3D1B957D} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
||||||
|
{99002B65-86F7-415E-BF4A-381AA8AB9CCC} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
||||||
{2AD6973D-C7BB-416E-89FE-EEE34664E05F} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
{2AD6973D-C7BB-416E-89FE-EEE34664E05F} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}
|
||||||
{33B1BC8D-E292-4972-A363-22056B207156} = {75E7476C-C05B-4C41-8E38-081D3EB55659}
|
{33B1BC8D-E292-4972-A363-22056B207156} = {75E7476C-C05B-4C41-8E38-081D3EB55659}
|
||||||
{CB70A642-8CEC-4DDE-8C9F-AD08900EC98D} = {84650275-884D-4CBB-9CC0-67553996E211}
|
{CB70A642-8CEC-4DDE-8C9F-AD08900EC98D} = {84650275-884D-4CBB-9CC0-67553996E211}
|
||||||
|
|||||||
@@ -10,12 +10,18 @@ namespace Orchard.Specs.Bindings {
|
|||||||
public class OrchardSiteFactory : BindingBase {
|
public class OrchardSiteFactory : BindingBase {
|
||||||
[Given(@"I have installed Orchard")]
|
[Given(@"I have installed Orchard")]
|
||||||
public void GivenIHaveInstalledOrchard() {
|
public void GivenIHaveInstalledOrchard() {
|
||||||
|
GivenIHaveInstalledOrchard("/");
|
||||||
|
}
|
||||||
|
|
||||||
|
[Given(@"I have installed Orchard at ""(.*)\""")]
|
||||||
|
public void GivenIHaveInstalledOrchard(string virtualDirectory) {
|
||||||
var webApp = Binding<WebAppHosting>();
|
var webApp = Binding<WebAppHosting>();
|
||||||
|
|
||||||
webApp.GivenIHaveACleanSiteWith(TableData(
|
webApp.GivenIHaveACleanSiteWith(TableData(
|
||||||
new { extension = "module", names = "Orchard.Setup, Orchard.Pages, Orchard.Blogs, Orchard.Messaging, Orchard.Modules, Orchard.Packaging, Orchard.PublishLater, Orchard.Themes, Orchard.Scripting, Orchard.Widgets, Orchard.Users, Orchard.Roles, Orchard.Comments, Orchard.jQuery, Orchard.Tags, TinyMce" },
|
new { extension = "module", names = "Orchard.Setup, Orchard.Pages, Orchard.Blogs, Orchard.Messaging, Orchard.Modules, Orchard.Packaging, Orchard.PublishLater, Orchard.Themes, Orchard.Scripting, Orchard.Widgets, Orchard.Users, Orchard.Roles, Orchard.Comments, Orchard.jQuery, Orchard.Tags, TinyMce" },
|
||||||
new { extension = "core", names = "Common, Dashboard, Feeds, HomePage, Navigation, Contents, Routable, Scheduling, Settings, Shapes, XmlRpc" },
|
new { extension = "core", names = "Common, Dashboard, Feeds, HomePage, Navigation, Contents, Routable, Scheduling, Settings, Shapes, XmlRpc" },
|
||||||
new { extension = "theme", names = "SafeMode, TheAdmin, TheThemeMachine" }));
|
new { extension = "theme", names = "SafeMode, TheAdmin, TheThemeMachine" }),
|
||||||
|
virtualDirectory);
|
||||||
|
|
||||||
webApp.WhenIGoTo("Setup");
|
webApp.WhenIGoTo("Setup");
|
||||||
|
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ namespace Orchard.Specs.Bindings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Given(@"I have a clean site")]
|
[Given(@"I have a clean site")]
|
||||||
public void GivenIHaveACleanSite() {
|
public void GivenIHaveACleanSite(string virtualDirectory = "/") {
|
||||||
GivenIHaveACleanSiteBasedOn("Orchard.Web");
|
GivenIHaveACleanSiteBasedOn("Orchard.Web", virtualDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Given(@"I have chosen to deploy modules as source files only")]
|
[Given(@"I have chosen to deploy modules as source files only")]
|
||||||
@@ -71,8 +71,13 @@ namespace Orchard.Specs.Bindings {
|
|||||||
|
|
||||||
[Given(@"I have a clean site based on (.*)")]
|
[Given(@"I have a clean site based on (.*)")]
|
||||||
public void GivenIHaveACleanSiteBasedOn(string siteFolder) {
|
public void GivenIHaveACleanSiteBasedOn(string siteFolder) {
|
||||||
|
GivenIHaveACleanSiteBasedOn(siteFolder, "/");
|
||||||
|
}
|
||||||
|
|
||||||
|
[Given(@"I have a clean site based on (.*) at ""(.*)\""")]
|
||||||
|
public void GivenIHaveACleanSiteBasedOn(string siteFolder, string virtualDirectory) {
|
||||||
_webHost = new WebHost(_orchardTemp);
|
_webHost = new WebHost(_orchardTemp);
|
||||||
Host.Initialize(siteFolder, "/");
|
Host.Initialize(siteFolder, virtualDirectory ?? "/");
|
||||||
var shuttle = new Shuttle();
|
var shuttle = new Shuttle();
|
||||||
Host.Execute(() => {
|
Host.Execute(() => {
|
||||||
log4net.Config.BasicConfigurator.Configure(new CastleAppender());
|
log4net.Config.BasicConfigurator.Configure(new CastleAppender());
|
||||||
@@ -124,8 +129,8 @@ namespace Orchard.Specs.Bindings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Given(@"I have a clean site with")]
|
[Given(@"I have a clean site with")]
|
||||||
public void GivenIHaveACleanSiteWith(Table table) {
|
public void GivenIHaveACleanSiteWith(Table table, string virtualDirectory = "/") {
|
||||||
GivenIHaveACleanSite();
|
GivenIHaveACleanSite(virtualDirectory);
|
||||||
foreach (var row in table.Rows) {
|
foreach (var row in table.Rows) {
|
||||||
foreach (var name in row["names"].Split(',').Select(x => x.Trim())) {
|
foreach (var name in row["names"].Split(',').Select(x => x.Trim())) {
|
||||||
switch (row["extension"]) {
|
switch (row["extension"]) {
|
||||||
|
|||||||
@@ -126,3 +126,25 @@ Scenario: Enabling remote blog publishing inserts the appropriate metaweblogapi
|
|||||||
Then the content type should be "\btext/xml\b"
|
Then the content type should be "\btext/xml\b"
|
||||||
And I should see "<manifest xmlns="http\://schemas\.microsoft\.com/wlw/manifest/weblog">"
|
And I should see "<manifest xmlns="http\://schemas\.microsoft\.com/wlw/manifest/weblog">"
|
||||||
And I should see "<clientType>Metaweblog</clientType>"
|
And I should see "<clientType>Metaweblog</clientType>"
|
||||||
|
|
||||||
|
Scenario: The virtual path of my installation when not at the root is reflected in the URL example for the slug field when creating a blog or blog post
|
||||||
|
Given I have installed Orchard at "/OrchardLocal"
|
||||||
|
When I go to "admin/blogs/create"
|
||||||
|
Then I should see "<span>http\://localhost/OrchardLocal/</span>"
|
||||||
|
When I fill in
|
||||||
|
| name | value |
|
||||||
|
| Routable.Title | My Blog |
|
||||||
|
And I hit "Save"
|
||||||
|
And I go to "admin/blogs/my-blog/posts/create"
|
||||||
|
Then I should see "<span>http\://localhost/OrchardLocal/my-blog/</span>"
|
||||||
|
|
||||||
|
Scenario: The virtual path of my installation when at the root is reflected in the URL example for the slug field when creating a blog or blog post
|
||||||
|
Given I have installed Orchard at "/"
|
||||||
|
When I go to "admin/blogs/create"
|
||||||
|
Then I should see "<span>http\://localhost/</span>"
|
||||||
|
When I fill in
|
||||||
|
| name | value |
|
||||||
|
| Routable.Title | My Blog |
|
||||||
|
And I hit "Save"
|
||||||
|
And I go to "admin/blogs/my-blog/posts/create"
|
||||||
|
Then I should see "<span>http\://localhost/my-blog/</span>"
|
||||||
234
src/Orchard.Specs/Blogs.feature.cs
generated
234
src/Orchard.Specs/Blogs.feature.cs
generated
@@ -1,7 +1,7 @@
|
|||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by SpecFlow (http://www.specflow.org/).
|
// This code was generated by SpecFlow (http://www.specflow.org/).
|
||||||
// SpecFlow Version:1.3.2.0
|
// SpecFlow Version:1.4.0.0
|
||||||
// Runtime Version:4.0.30319.1
|
// Runtime Version:4.0.30319.1
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
@@ -14,7 +14,7 @@ namespace Orchard.Specs
|
|||||||
using TechTalk.SpecFlow;
|
using TechTalk.SpecFlow;
|
||||||
|
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.3.2.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.4.0.0")]
|
||||||
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[NUnit.Framework.TestFixtureAttribute()]
|
[NUnit.Framework.TestFixtureAttribute()]
|
||||||
[NUnit.Framework.DescriptionAttribute("Blog")]
|
[NUnit.Framework.DescriptionAttribute("Blog")]
|
||||||
@@ -31,7 +31,7 @@ namespace Orchard.Specs
|
|||||||
{
|
{
|
||||||
testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();
|
testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();
|
||||||
TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Blog", "In order to add blogs to my site\r\nAs an author\r\nI want to create blogs and create" +
|
TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Blog", "In order to add blogs to my site\r\nAs an author\r\nI want to create blogs and create" +
|
||||||
", publish and edit blog posts", ((string[])(null)));
|
", publish and edit blog posts", GenerationTargetLanguage.CSharp, ((string[])(null)));
|
||||||
testRunner.OnFeatureStart(featureInfo);
|
testRunner.OnFeatureStart(featureInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,11 +61,11 @@ namespace Orchard.Specs
|
|||||||
#line 6
|
#line 6
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 7
|
#line 7
|
||||||
testRunner.Given("I have installed Orchard");
|
testRunner.Given("I have installed Orchard");
|
||||||
#line 8
|
#line 8
|
||||||
testRunner.When("I go to \"admin\"");
|
testRunner.When("I go to \"admin\"");
|
||||||
#line 9
|
#line 9
|
||||||
testRunner.Then("I should see \"<a href=\"/Admin/Blogs/Create\">Blogs</a>\"");
|
testRunner.Then("I should see \"<a href=\"/Admin/Blogs/Create\">Blogs</a>\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -78,9 +78,9 @@ testRunner.Then("I should see \"<a href=\"/Admin/Blogs/Create\">Blogs</a>\"");
|
|||||||
#line 11
|
#line 11
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 12
|
#line 12
|
||||||
testRunner.Given("I have installed Orchard");
|
testRunner.Given("I have installed Orchard");
|
||||||
#line 13
|
#line 13
|
||||||
testRunner.When("I go to \"admin/blogs/create\"");
|
testRunner.When("I go to \"admin/blogs/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table1 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table1 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -89,15 +89,15 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
|||||||
"Routable.Title",
|
"Routable.Title",
|
||||||
"My Blog"});
|
"My Blog"});
|
||||||
#line 14
|
#line 14
|
||||||
testRunner.And("I fill in", ((string)(null)), table1);
|
testRunner.And("I fill in", ((string)(null)), table1);
|
||||||
#line 17
|
#line 17
|
||||||
testRunner.And("I hit \"Save\"");
|
testRunner.And("I hit \"Save\"");
|
||||||
#line 18
|
#line 18
|
||||||
testRunner.And("I go to \"my-blog\"");
|
testRunner.And("I go to \"my-blog\"");
|
||||||
#line 19
|
#line 19
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||||
#line 20
|
#line 20
|
||||||
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table2 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table2 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -109,15 +109,15 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
|||||||
"Body.Text",
|
"Body.Text",
|
||||||
"Hi there."});
|
"Hi there."});
|
||||||
#line 21
|
#line 21
|
||||||
testRunner.And("I fill in", ((string)(null)), table2);
|
testRunner.And("I fill in", ((string)(null)), table2);
|
||||||
#line 25
|
#line 25
|
||||||
testRunner.And("I hit \"Publish Now\"");
|
testRunner.And("I hit \"Publish Now\"");
|
||||||
#line 26
|
#line 26
|
||||||
testRunner.And("I go to \"my-blog/my-post\"");
|
testRunner.And("I go to \"my-blog/my-post\"");
|
||||||
#line 27
|
#line 27
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||||
#line 28
|
#line 28
|
||||||
testRunner.And("I should see \"Hi there.\"");
|
testRunner.And("I should see \"Hi there.\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -132,9 +132,9 @@ testRunner.And("I should see \"Hi there.\"");
|
|||||||
#line 30
|
#line 30
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 31
|
#line 31
|
||||||
testRunner.Given("I have installed Orchard");
|
testRunner.Given("I have installed Orchard");
|
||||||
#line 32
|
#line 32
|
||||||
testRunner.When("I go to \"admin/blogs/create\"");
|
testRunner.When("I go to \"admin/blogs/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table3 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table3 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -143,11 +143,11 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
|||||||
"Routable.Title",
|
"Routable.Title",
|
||||||
"My Blog"});
|
"My Blog"});
|
||||||
#line 33
|
#line 33
|
||||||
testRunner.And("I fill in", ((string)(null)), table3);
|
testRunner.And("I fill in", ((string)(null)), table3);
|
||||||
#line 36
|
#line 36
|
||||||
testRunner.And("I hit \"Save\"");
|
testRunner.And("I hit \"Save\"");
|
||||||
#line 37
|
#line 37
|
||||||
testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table4 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table4 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -159,17 +159,17 @@ testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
|||||||
"Body.Text",
|
"Body.Text",
|
||||||
"Hi there."});
|
"Hi there."});
|
||||||
#line 38
|
#line 38
|
||||||
testRunner.And("I fill in", ((string)(null)), table4);
|
testRunner.And("I fill in", ((string)(null)), table4);
|
||||||
#line 42
|
#line 42
|
||||||
testRunner.And("I hit \"Publish Now\"");
|
testRunner.And("I hit \"Publish Now\"");
|
||||||
#line 43
|
#line 43
|
||||||
testRunner.And("I go to \"my-blog/my-post\"");
|
testRunner.And("I go to \"my-blog/my-post\"");
|
||||||
#line 44
|
#line 44
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||||
#line 45
|
#line 45
|
||||||
testRunner.And("I should see \"Hi there.\"");
|
testRunner.And("I should see \"Hi there.\"");
|
||||||
#line 46
|
#line 46
|
||||||
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table5 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table5 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -181,17 +181,17 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
|||||||
"Body.Text",
|
"Body.Text",
|
||||||
"Hi there, again."});
|
"Hi there, again."});
|
||||||
#line 47
|
#line 47
|
||||||
testRunner.And("I fill in", ((string)(null)), table5);
|
testRunner.And("I fill in", ((string)(null)), table5);
|
||||||
#line 51
|
#line 51
|
||||||
testRunner.And("I hit \"Publish Now\"");
|
testRunner.And("I hit \"Publish Now\"");
|
||||||
#line 52
|
#line 52
|
||||||
testRunner.And("I go to \"my-blog/my-post-2\"");
|
testRunner.And("I go to \"my-blog/my-post-2\"");
|
||||||
#line 53
|
#line 53
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||||
#line 54
|
#line 54
|
||||||
testRunner.And("I should see \"Hi there, again.\"");
|
testRunner.And("I should see \"Hi there, again.\"");
|
||||||
#line 55
|
#line 55
|
||||||
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table6 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table6 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -206,15 +206,15 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
|||||||
"Body.Text",
|
"Body.Text",
|
||||||
"Are you still there?"});
|
"Are you still there?"});
|
||||||
#line 56
|
#line 56
|
||||||
testRunner.And("I fill in", ((string)(null)), table6);
|
testRunner.And("I fill in", ((string)(null)), table6);
|
||||||
#line 61
|
#line 61
|
||||||
testRunner.And("I hit \"Publish Now\"");
|
testRunner.And("I hit \"Publish Now\"");
|
||||||
#line 62
|
#line 62
|
||||||
testRunner.And("I go to \"my-blog/my-post-3\"");
|
testRunner.And("I go to \"my-blog/my-post-3\"");
|
||||||
#line 63
|
#line 63
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||||
#line 64
|
#line 64
|
||||||
testRunner.And("I should see \"Are you still there?\"");
|
testRunner.And("I should see \"Are you still there?\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -229,9 +229,9 @@ testRunner.And("I should see \"Are you still there?\"");
|
|||||||
#line 66
|
#line 66
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 67
|
#line 67
|
||||||
testRunner.Given("I have installed Orchard");
|
testRunner.Given("I have installed Orchard");
|
||||||
#line 68
|
#line 68
|
||||||
testRunner.When("I go to \"admin/blogs/create\"");
|
testRunner.When("I go to \"admin/blogs/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table7 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table7 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -240,15 +240,15 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
|||||||
"Routable.Title",
|
"Routable.Title",
|
||||||
"My Blog"});
|
"My Blog"});
|
||||||
#line 69
|
#line 69
|
||||||
testRunner.And("I fill in", ((string)(null)), table7);
|
testRunner.And("I fill in", ((string)(null)), table7);
|
||||||
#line 72
|
#line 72
|
||||||
testRunner.And("I hit \"Save\"");
|
testRunner.And("I hit \"Save\"");
|
||||||
#line 73
|
#line 73
|
||||||
testRunner.And("I go to \"my-blog\"");
|
testRunner.And("I go to \"my-blog\"");
|
||||||
#line 74
|
#line 74
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||||
#line 75
|
#line 75
|
||||||
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table8 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table8 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -260,19 +260,19 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
|||||||
"Body.Text",
|
"Body.Text",
|
||||||
"Hi there."});
|
"Hi there."});
|
||||||
#line 76
|
#line 76
|
||||||
testRunner.And("I fill in", ((string)(null)), table8);
|
testRunner.And("I fill in", ((string)(null)), table8);
|
||||||
#line 80
|
#line 80
|
||||||
testRunner.And("I hit \"Publish Now\"");
|
testRunner.And("I hit \"Publish Now\"");
|
||||||
#line 81
|
#line 81
|
||||||
testRunner.And("I go to \"my-blog/my-post\"");
|
testRunner.And("I go to \"my-blog/my-post\"");
|
||||||
#line 82
|
#line 82
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||||
#line 83
|
#line 83
|
||||||
testRunner.And("I should see \"Hi there.\"");
|
testRunner.And("I should see \"Hi there.\"");
|
||||||
#line 84
|
#line 84
|
||||||
testRunner.When("I go to \"admin/blogs/my-blog\"");
|
testRunner.When("I go to \"admin/blogs/my-blog\"");
|
||||||
#line 85
|
#line 85
|
||||||
testRunner.And("I follow \"Blog Properties\"");
|
testRunner.And("I follow \"Blog Properties\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table9 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table9 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -281,19 +281,19 @@ testRunner.And("I follow \"Blog Properties\"");
|
|||||||
"Routable.Slug",
|
"Routable.Slug",
|
||||||
"my-other-blog"});
|
"my-other-blog"});
|
||||||
#line 86
|
#line 86
|
||||||
testRunner.And("I fill in", ((string)(null)), table9);
|
testRunner.And("I fill in", ((string)(null)), table9);
|
||||||
#line 89
|
#line 89
|
||||||
testRunner.And("I hit \"Save\"");
|
testRunner.And("I hit \"Save\"");
|
||||||
#line 90
|
#line 90
|
||||||
testRunner.And("I go to \"my-other-blog\"");
|
testRunner.And("I go to \"my-other-blog\"");
|
||||||
#line 91
|
#line 91
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||||
#line 92
|
#line 92
|
||||||
testRunner.When("I go to \"my-other-blog/my-post\"");
|
testRunner.When("I go to \"my-other-blog/my-post\"");
|
||||||
#line 93
|
#line 93
|
||||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||||
#line 94
|
#line 94
|
||||||
testRunner.And("I should see \"Hi there.\"");
|
testRunner.And("I should see \"Hi there.\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -306,9 +306,9 @@ testRunner.And("I should see \"Hi there.\"");
|
|||||||
#line 96
|
#line 96
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 97
|
#line 97
|
||||||
testRunner.Given("I have installed Orchard");
|
testRunner.Given("I have installed Orchard");
|
||||||
#line 98
|
#line 98
|
||||||
testRunner.When("I go to \"admin/blogs/create\"");
|
testRunner.When("I go to \"admin/blogs/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table10 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table10 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -317,11 +317,11 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
|||||||
"Routable.Title",
|
"Routable.Title",
|
||||||
"My Blog"});
|
"My Blog"});
|
||||||
#line 99
|
#line 99
|
||||||
testRunner.And("I fill in", ((string)(null)), table10);
|
testRunner.And("I fill in", ((string)(null)), table10);
|
||||||
#line 102
|
#line 102
|
||||||
testRunner.And("I hit \"Save\"");
|
testRunner.And("I hit \"Save\"");
|
||||||
#line 103
|
#line 103
|
||||||
testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table11 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table11 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -333,15 +333,15 @@ testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
|||||||
"Body.Text",
|
"Body.Text",
|
||||||
"Hi there."});
|
"Hi there."});
|
||||||
#line 104
|
#line 104
|
||||||
testRunner.And("I fill in", ((string)(null)), table11);
|
testRunner.And("I fill in", ((string)(null)), table11);
|
||||||
#line 108
|
#line 108
|
||||||
testRunner.And("I hit \"Publish Now\"");
|
testRunner.And("I hit \"Publish Now\"");
|
||||||
#line 109
|
#line 109
|
||||||
testRunner.And("I am redirected");
|
testRunner.And("I am redirected");
|
||||||
#line 110
|
#line 110
|
||||||
testRunner.And("I go to \"my-blog/my-post\"");
|
testRunner.And("I go to \"my-blog/my-post\"");
|
||||||
#line 111
|
#line 111
|
||||||
testRunner.Then("I should see \"<link rel=\"alternate\" type=\"application/rss\\+xml\" title=\"My Blog\" h" +
|
testRunner.Then("I should see \"<link rel=\"alternate\" type=\"application/rss\\+xml\" title=\"My Blog\" h" +
|
||||||
"ref=\"/rss\\?containerid=\\d+\" />\"");
|
"ref=\"/rss\\?containerid=\\d+\" />\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
@@ -357,13 +357,13 @@ testRunner.Then("I should see \"<link rel=\"alternate\" type=\"application/rss\\
|
|||||||
#line 114
|
#line 114
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 115
|
#line 115
|
||||||
testRunner.Given("I have installed Orchard");
|
testRunner.Given("I have installed Orchard");
|
||||||
#line 116
|
#line 116
|
||||||
testRunner.And("I have enabled \"XmlRpc\"");
|
testRunner.And("I have enabled \"XmlRpc\"");
|
||||||
#line 117
|
#line 117
|
||||||
testRunner.And("I have enabled \"Orchard.Blogs.RemotePublishing\"");
|
testRunner.And("I have enabled \"Orchard.Blogs.RemotePublishing\"");
|
||||||
#line 118
|
#line 118
|
||||||
testRunner.When("I go to \"admin/blogs/create\"");
|
testRunner.When("I go to \"admin/blogs/create\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table12 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table12 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -372,23 +372,91 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
|||||||
"Routable.Title",
|
"Routable.Title",
|
||||||
"My Blog"});
|
"My Blog"});
|
||||||
#line 119
|
#line 119
|
||||||
testRunner.And("I fill in", ((string)(null)), table12);
|
testRunner.And("I fill in", ((string)(null)), table12);
|
||||||
#line 122
|
#line 122
|
||||||
testRunner.And("I hit \"Save\"");
|
testRunner.And("I hit \"Save\"");
|
||||||
#line 123
|
#line 123
|
||||||
testRunner.And("I go to \"my-blog\"");
|
testRunner.And("I go to \"my-blog\"");
|
||||||
#line 124
|
#line 124
|
||||||
testRunner.Then("I should see \"<link href=\"[^\"]*/XmlRpc/LiveWriter/Manifest\" rel=\"wlwmanifest\" typ" +
|
testRunner.Then("I should see \"<link href=\"[^\"]*/XmlRpc/LiveWriter/Manifest\" rel=\"wlwmanifest\" typ" +
|
||||||
"e=\"application/wlwmanifest\\+xml\" />\"");
|
"e=\"application/wlwmanifest\\+xml\" />\"");
|
||||||
#line 125
|
#line 125
|
||||||
testRunner.When("I go to \"/XmlRpc/LiveWriter/Manifest\"");
|
testRunner.When("I go to \"/XmlRpc/LiveWriter/Manifest\"");
|
||||||
#line 126
|
#line 126
|
||||||
testRunner.Then("the content type should be \"\\btext/xml\\b\"");
|
testRunner.Then("the content type should be \"\\btext/xml\\b\"");
|
||||||
#line 127
|
#line 127
|
||||||
testRunner.And("I should see \"<manifest xmlns=\"http\\://schemas\\.microsoft\\.com/wlw/manifest/weblo" +
|
testRunner.And("I should see \"<manifest xmlns=\"http\\://schemas\\.microsoft\\.com/wlw/manifest/weblo" +
|
||||||
"g\">\"");
|
"g\">\"");
|
||||||
#line 128
|
#line 128
|
||||||
testRunner.And("I should see \"<clientType>Metaweblog</clientType>\"");
|
testRunner.And("I should see \"<clientType>Metaweblog</clientType>\"");
|
||||||
|
#line hidden
|
||||||
|
testRunner.CollectScenarioErrors();
|
||||||
|
}
|
||||||
|
|
||||||
|
[NUnit.Framework.TestAttribute()]
|
||||||
|
[NUnit.Framework.DescriptionAttribute("The virtual path of my installation when not at the root is reflected in the URL " +
|
||||||
|
"example for the slug field when creating a blog or blog post")]
|
||||||
|
public virtual void TheVirtualPathOfMyInstallationWhenNotAtTheRootIsReflectedInTheURLExampleForTheSlugFieldWhenCreatingABlogOrBlogPost()
|
||||||
|
{
|
||||||
|
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The virtual path of my installation when not at the root is reflected in the URL " +
|
||||||
|
"example for the slug field when creating a blog or blog post", ((string[])(null)));
|
||||||
|
#line 130
|
||||||
|
this.ScenarioSetup(scenarioInfo);
|
||||||
|
#line 131
|
||||||
|
testRunner.Given("I have installed Orchard at \"/OrchardLocal\"");
|
||||||
|
#line 132
|
||||||
|
testRunner.When("I go to \"admin/blogs/create\"");
|
||||||
|
#line 133
|
||||||
|
testRunner.Then("I should see \"<span>http\\://localhost/OrchardLocal/</span>\"");
|
||||||
|
#line hidden
|
||||||
|
TechTalk.SpecFlow.Table table13 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
|
"name",
|
||||||
|
"value"});
|
||||||
|
table13.AddRow(new string[] {
|
||||||
|
"Routable.Title",
|
||||||
|
"My Blog"});
|
||||||
|
#line 134
|
||||||
|
testRunner.When("I fill in", ((string)(null)), table13);
|
||||||
|
#line 137
|
||||||
|
testRunner.And("I hit \"Save\"");
|
||||||
|
#line 138
|
||||||
|
testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
|
#line 139
|
||||||
|
testRunner.Then("I should see \"<span>http\\://localhost/OrchardLocal/my-blog/</span>\"");
|
||||||
|
#line hidden
|
||||||
|
testRunner.CollectScenarioErrors();
|
||||||
|
}
|
||||||
|
|
||||||
|
[NUnit.Framework.TestAttribute()]
|
||||||
|
[NUnit.Framework.DescriptionAttribute("The virtual path of my installation when at the root is reflected in the URL exam" +
|
||||||
|
"ple for the slug field when creating a blog or blog post")]
|
||||||
|
public virtual void TheVirtualPathOfMyInstallationWhenAtTheRootIsReflectedInTheURLExampleForTheSlugFieldWhenCreatingABlogOrBlogPost()
|
||||||
|
{
|
||||||
|
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The virtual path of my installation when at the root is reflected in the URL exam" +
|
||||||
|
"ple for the slug field when creating a blog or blog post", ((string[])(null)));
|
||||||
|
#line 141
|
||||||
|
this.ScenarioSetup(scenarioInfo);
|
||||||
|
#line 142
|
||||||
|
testRunner.Given("I have installed Orchard at \"/\"");
|
||||||
|
#line 143
|
||||||
|
testRunner.When("I go to \"admin/blogs/create\"");
|
||||||
|
#line 144
|
||||||
|
testRunner.Then("I should see \"<span>http\\://localhost/</span>\"");
|
||||||
|
#line hidden
|
||||||
|
TechTalk.SpecFlow.Table table14 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
|
"name",
|
||||||
|
"value"});
|
||||||
|
table14.AddRow(new string[] {
|
||||||
|
"Routable.Title",
|
||||||
|
"My Blog"});
|
||||||
|
#line 145
|
||||||
|
testRunner.When("I fill in", ((string)(null)), table14);
|
||||||
|
#line 148
|
||||||
|
testRunner.And("I hit \"Save\"");
|
||||||
|
#line 149
|
||||||
|
testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||||
|
#line 150
|
||||||
|
testRunner.Then("I should see \"<span>http\\://localhost/my-blog/</span>\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Web.Hosting;
|
using System.Web.Hosting;
|
||||||
using HtmlAgilityPack;
|
|
||||||
using Orchard.Commands;
|
|
||||||
using Orchard.Specs.Util;
|
using Orchard.Specs.Util;
|
||||||
|
|
||||||
namespace Orchard.Specs.Hosting {
|
namespace Orchard.Specs.Hosting {
|
||||||
@@ -16,12 +14,13 @@ namespace Orchard.Specs.Hosting {
|
|||||||
|
|
||||||
var physicalPath = Bleroy.FluentPath.Path.Get(webHost.PhysicalDirectory);
|
var physicalPath = Bleroy.FluentPath.Path.Get(webHost.PhysicalDirectory);
|
||||||
|
|
||||||
|
urlPath = StripVDir(urlPath, webHost.VirtualDirectory);
|
||||||
var details = new RequestDetails {
|
var details = new RequestDetails {
|
||||||
HostName = webHost.HostName,
|
HostName = webHost.HostName,
|
||||||
UrlPath = urlPath,
|
UrlPath = urlPath,
|
||||||
Page = physicalPath
|
Page = physicalPath
|
||||||
.Combine(urlPath.TrimStart('/', '\\'))
|
.Combine(urlPath.TrimStart('/', '\\'))
|
||||||
.GetRelativePath(physicalPath),
|
.GetRelativePath(physicalPath)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(webHost.Cookies)) {
|
if (!string.IsNullOrEmpty(webHost.Cookies)) {
|
||||||
@@ -52,6 +51,12 @@ namespace Orchard.Specs.Hosting {
|
|||||||
return details;
|
return details;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string StripVDir(string urlPath, string virtualDirectory) {
|
||||||
|
return urlPath.StartsWith(virtualDirectory, StringComparison.OrdinalIgnoreCase)
|
||||||
|
? urlPath.Substring(virtualDirectory.Length)
|
||||||
|
: urlPath;
|
||||||
|
}
|
||||||
|
|
||||||
public static RequestDetails SendRequest(this WebHost webHost, string urlPath) {
|
public static RequestDetails SendRequest(this WebHost webHost, string urlPath) {
|
||||||
return webHost.SendRequest(urlPath, null);
|
return webHost.SendRequest(urlPath, null);
|
||||||
}
|
}
|
||||||
|
|||||||
82
src/Orchard.Specs/WebHosting.feature.cs
generated
82
src/Orchard.Specs/WebHosting.feature.cs
generated
@@ -1,7 +1,7 @@
|
|||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by SpecFlow (http://www.specflow.org/).
|
// This code was generated by SpecFlow (http://www.specflow.org/).
|
||||||
// SpecFlow Version:1.3.2.0
|
// SpecFlow Version:1.4.0.0
|
||||||
// Runtime Version:4.0.30319.1
|
// Runtime Version:4.0.30319.1
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
@@ -14,7 +14,7 @@ namespace Orchard.Specs
|
|||||||
using TechTalk.SpecFlow;
|
using TechTalk.SpecFlow;
|
||||||
|
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.3.2.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.4.0.0")]
|
||||||
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[NUnit.Framework.TestFixtureAttribute()]
|
[NUnit.Framework.TestFixtureAttribute()]
|
||||||
[NUnit.Framework.DescriptionAttribute("Web Hosting")]
|
[NUnit.Framework.DescriptionAttribute("Web Hosting")]
|
||||||
@@ -31,7 +31,7 @@ namespace Orchard.Specs
|
|||||||
{
|
{
|
||||||
testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();
|
testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();
|
||||||
TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Web Hosting", "In order to test orchard\r\nAs an integration runner\r\nI want to verify basic hostin" +
|
TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Web Hosting", "In order to test orchard\r\nAs an integration runner\r\nI want to verify basic hostin" +
|
||||||
"g is working", ((string[])(null)));
|
"g is working", GenerationTargetLanguage.CSharp, ((string[])(null)));
|
||||||
testRunner.OnFeatureStart(featureInfo);
|
testRunner.OnFeatureStart(featureInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,13 +61,13 @@ namespace Orchard.Specs
|
|||||||
#line 6
|
#line 6
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 7
|
#line 7
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 8
|
#line 8
|
||||||
testRunner.When("I go to \"Content/Static.txt\"");
|
testRunner.When("I go to \"Content/Static.txt\"");
|
||||||
#line 9
|
#line 9
|
||||||
testRunner.Then("I should see \"Hello world!\"");
|
testRunner.Then("I should see \"Hello world!\"");
|
||||||
#line 10
|
#line 10
|
||||||
testRunner.And("the status should be 200 \"OK\"");
|
testRunner.And("the status should be 200 \"OK\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -80,13 +80,13 @@ testRunner.And("the status should be 200 \"OK\"");
|
|||||||
#line 12
|
#line 12
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 13
|
#line 13
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 14
|
#line 14
|
||||||
testRunner.When("I go to \"Simple/Page.aspx\"");
|
testRunner.When("I go to \"Simple/Page.aspx\"");
|
||||||
#line 15
|
#line 15
|
||||||
testRunner.Then("I should see \"Hello again\"");
|
testRunner.Then("I should see \"Hello again\"");
|
||||||
#line 16
|
#line 16
|
||||||
testRunner.And("the status should be 200 \"OK\"");
|
testRunner.And("the status should be 200 \"OK\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -99,13 +99,13 @@ testRunner.And("the status should be 200 \"OK\"");
|
|||||||
#line 18
|
#line 18
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 19
|
#line 19
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 20
|
#line 20
|
||||||
testRunner.When("I go to \"hello-world\"");
|
testRunner.When("I go to \"hello-world\"");
|
||||||
#line 21
|
#line 21
|
||||||
testRunner.Then("the status should be 200 \"OK\"");
|
testRunner.Then("the status should be 200 \"OK\"");
|
||||||
#line 22
|
#line 22
|
||||||
testRunner.And("I should see \"Hello yet again\"");
|
testRunner.And("I should see \"Hello yet again\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -118,15 +118,15 @@ testRunner.And("I should see \"Hello yet again\"");
|
|||||||
#line 24
|
#line 24
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 25
|
#line 25
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 26
|
#line 26
|
||||||
testRunner.When("I go to \"/simple/page.aspx\"");
|
testRunner.When("I go to \"/simple/page.aspx\"");
|
||||||
#line 27
|
#line 27
|
||||||
testRunner.And("I follow \"next page\"");
|
testRunner.And("I follow \"next page\"");
|
||||||
#line 28
|
#line 28
|
||||||
testRunner.Then("the status should be 200 \"OK\"");
|
testRunner.Then("the status should be 200 \"OK\"");
|
||||||
#line 29
|
#line 29
|
||||||
testRunner.And("I should see \"Hello yet again\"");
|
testRunner.And("I should see \"Hello yet again\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -139,9 +139,9 @@ testRunner.And("I should see \"Hello yet again\"");
|
|||||||
#line 31
|
#line 31
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 32
|
#line 32
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 33
|
#line 33
|
||||||
testRunner.And("I am on \"/simple/page.aspx\"");
|
testRunner.And("I am on \"/simple/page.aspx\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
TechTalk.SpecFlow.Table table1 = new TechTalk.SpecFlow.Table(new string[] {
|
TechTalk.SpecFlow.Table table1 = new TechTalk.SpecFlow.Table(new string[] {
|
||||||
"name",
|
"name",
|
||||||
@@ -150,15 +150,15 @@ testRunner.And("I am on \"/simple/page.aspx\"");
|
|||||||
"input1",
|
"input1",
|
||||||
"gamma"});
|
"gamma"});
|
||||||
#line 34
|
#line 34
|
||||||
testRunner.When("I fill in", ((string)(null)), table1);
|
testRunner.When("I fill in", ((string)(null)), table1);
|
||||||
#line 37
|
#line 37
|
||||||
testRunner.And("I hit \"Go!\"");
|
testRunner.And("I hit \"Go!\"");
|
||||||
#line 38
|
#line 38
|
||||||
testRunner.Then("I should see \"passthrough1:alpha\"");
|
testRunner.Then("I should see \"passthrough1:alpha\"");
|
||||||
#line 39
|
#line 39
|
||||||
testRunner.And("I should see \"passthrough2:beta\"");
|
testRunner.And("I should see \"passthrough2:beta\"");
|
||||||
#line 40
|
#line 40
|
||||||
testRunner.And("I should see \"input1:gamma\"");
|
testRunner.And("I should see \"input1:gamma\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -171,13 +171,13 @@ testRunner.And("I should see \"input1:gamma\"");
|
|||||||
#line 42
|
#line 42
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 43
|
#line 43
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 44
|
#line 44
|
||||||
testRunner.When("I go to \"/simple/cookie-set.aspx\"");
|
testRunner.When("I go to \"/simple/cookie-set.aspx\"");
|
||||||
#line 45
|
#line 45
|
||||||
testRunner.And("I go to \"/simple/cookie-show.aspx\"");
|
testRunner.And("I go to \"/simple/cookie-show.aspx\"");
|
||||||
#line 46
|
#line 46
|
||||||
testRunner.Then("I should see \"foo:bar\"");
|
testRunner.Then("I should see \"foo:bar\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -190,13 +190,13 @@ testRunner.Then("I should see \"foo:bar\"");
|
|||||||
#line 48
|
#line 48
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 49
|
#line 49
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 50
|
#line 50
|
||||||
testRunner.When("I go to \"/simple/redir.aspx\"");
|
testRunner.When("I go to \"/simple/redir.aspx\"");
|
||||||
#line 51
|
#line 51
|
||||||
testRunner.And("I am redirected");
|
testRunner.And("I am redirected");
|
||||||
#line 52
|
#line 52
|
||||||
testRunner.Then("I should see \"Hello again\"");
|
testRunner.Then("I should see \"Hello again\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -209,11 +209,11 @@ testRunner.Then("I should see \"Hello again\"");
|
|||||||
#line 54
|
#line 54
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 55
|
#line 55
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 56
|
#line 56
|
||||||
testRunner.When("I go to \"/Modules/Orchard.Blogs/module.txt\"");
|
testRunner.When("I go to \"/Modules/Orchard.Blogs/module.txt\"");
|
||||||
#line 57
|
#line 57
|
||||||
testRunner.Then("the status should be 404 \"Not Found\"");
|
testRunner.Then("the status should be 404 \"Not Found\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
@@ -226,11 +226,11 @@ testRunner.Then("the status should be 404 \"Not Found\"");
|
|||||||
#line 59
|
#line 59
|
||||||
this.ScenarioSetup(scenarioInfo);
|
this.ScenarioSetup(scenarioInfo);
|
||||||
#line 60
|
#line 60
|
||||||
testRunner.Given("I have a clean site based on Simple.Web");
|
testRunner.Given("I have a clean site based on Simple.Web");
|
||||||
#line 61
|
#line 61
|
||||||
testRunner.When("I go to \"/Themes/Classic/theme.txt\"");
|
testRunner.When("I go to \"/Themes/Classic/theme.txt\"");
|
||||||
#line 62
|
#line 62
|
||||||
testRunner.Then("the status should be 404 \"Not Found\"");
|
testRunner.Then("the status should be 404 \"Not Found\"");
|
||||||
#line hidden
|
#line hidden
|
||||||
testRunner.CollectScenarioErrors();
|
testRunner.CollectScenarioErrors();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,17 +8,24 @@ using Orchard.Core.Routable.Models;
|
|||||||
using Orchard.Core.Routable.Services;
|
using Orchard.Core.Routable.Services;
|
||||||
using Orchard.Core.Routable.ViewModels;
|
using Orchard.Core.Routable.ViewModels;
|
||||||
using Orchard.Localization;
|
using Orchard.Localization;
|
||||||
|
using Orchard.Mvc;
|
||||||
using Orchard.Services;
|
using Orchard.Services;
|
||||||
|
using Orchard.Utility.Extensions;
|
||||||
|
|
||||||
namespace Orchard.Core.Routable.Drivers {
|
namespace Orchard.Core.Routable.Drivers {
|
||||||
public class RoutePartDriver : ContentPartDriver<RoutePart> {
|
public class RoutePartDriver : ContentPartDriver<RoutePart> {
|
||||||
private readonly IOrchardServices _services;
|
private readonly IOrchardServices _services;
|
||||||
private readonly IRoutableService _routableService;
|
private readonly IRoutableService _routableService;
|
||||||
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||||
private readonly IHomePageProvider _routableHomePageProvider;
|
private readonly IHomePageProvider _routableHomePageProvider;
|
||||||
|
|
||||||
public RoutePartDriver(IOrchardServices services, IRoutableService routableService, IEnumerable<IHomePageProvider> homePageProviders) {
|
public RoutePartDriver(IOrchardServices services,
|
||||||
|
IRoutableService routableService,
|
||||||
|
IEnumerable<IHomePageProvider> homePageProviders,
|
||||||
|
IHttpContextAccessor httpContextAccessor) {
|
||||||
_services = services;
|
_services = services;
|
||||||
_routableService = routableService;
|
_routableService = routableService;
|
||||||
|
_httpContextAccessor = httpContextAccessor;
|
||||||
_routableHomePageProvider = homePageProviders.SingleOrDefault(p => p.GetProviderName() == RoutableHomePageProvider.Name);
|
_routableHomePageProvider = homePageProviders.SingleOrDefault(p => p.GetProviderName() == RoutableHomePageProvider.Name);
|
||||||
T = NullLocalizer.Instance;
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
@@ -59,10 +66,9 @@ namespace Orchard.Core.Routable.Drivers {
|
|||||||
ContainerId = GetContainerId(part),
|
ContainerId = GetContainerId(part),
|
||||||
};
|
};
|
||||||
|
|
||||||
var containerPath = part.GetContainerPath();
|
var request = _httpContextAccessor.Current().Request;
|
||||||
model.DisplayLeadingPath = !string.IsNullOrWhiteSpace(containerPath)
|
var containerUrl = new UriBuilder(request.ToRootUrlString()) { Path = (request.ApplicationPath ?? "").TrimEnd('/') + "/" + (part.GetContainerPath() ?? "") };
|
||||||
? string.Format("{0}/", containerPath)
|
model.ContainerAbsoluteUrl = containerUrl.Uri.ToString().TrimEnd('/');
|
||||||
: "";
|
|
||||||
|
|
||||||
model.PromoteToHomePage = model.Id != 0 && part.Path != null && _routableHomePageProvider != null && _services.WorkContext.CurrentSite.HomePage == _routableHomePageProvider.GetSettingValue(model.Id);
|
model.PromoteToHomePage = model.Id != 0 && part.Path != null && _routableHomePageProvider != null && _services.WorkContext.CurrentSite.HomePage == _routableHomePageProvider.GetSettingValue(model.Id);
|
||||||
return ContentShape("Parts_Routable_Edit",
|
return ContentShape("Parts_Routable_Edit",
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
|
|
||||||
namespace Orchard.Core.Routable.ViewModels {
|
namespace Orchard.Core.Routable.ViewModels {
|
||||||
public class RoutableEditorViewModel {
|
public class RoutableEditorViewModel {
|
||||||
@@ -15,6 +14,6 @@ namespace Orchard.Core.Routable.ViewModels {
|
|||||||
public int? ContainerId { get; set; }
|
public int? ContainerId { get; set; }
|
||||||
public bool PromoteToHomePage { get; set; }
|
public bool PromoteToHomePage { get; set; }
|
||||||
|
|
||||||
public string DisplayLeadingPath { get; set; }
|
public string ContainerAbsoluteUrl { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
@Html.TextBoxFor(m => m.Title, new { @class = "large text" })
|
@Html.TextBoxFor(m => m.Title, new { @class = "large text" })
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset class="permalink">
|
<fieldset class="permalink">
|
||||||
<label class="sub" for="Slug">@T("Permalink")<br /><span>@Request.ToApplicationRootUrlString()/@Model.DisplayLeadingPath</span></label>
|
<label class="sub" for="Slug">@T("Permalink")<br /><span>@Model.ContainerAbsoluteUrl/</span></label>
|
||||||
<span>@Html.TextBoxFor(m => m.Slug, new { @class = "text" })</span>
|
<span>@Html.TextBoxFor(m => m.Slug, new { @class = "text" })</span>
|
||||||
<span class="checkbox-and-label">
|
<span class="checkbox-and-label">
|
||||||
@Html.EditorFor(m => m.PromoteToHomePage)
|
@Html.EditorFor(m => m.PromoteToHomePage)
|
||||||
|
|||||||
@@ -225,7 +225,14 @@ namespace Orchard.Core.Shapes {
|
|||||||
foreach (var context in requiredResources.Where(r =>
|
foreach (var context in requiredResources.Where(r =>
|
||||||
(includeLocation.HasValue ? r.Settings.Location == includeLocation.Value : true) &&
|
(includeLocation.HasValue ? r.Settings.Location == includeLocation.Value : true) &&
|
||||||
(excludeLocation.HasValue ? r.Settings.Location != excludeLocation.Value : true))) {
|
(excludeLocation.HasValue ? r.Settings.Location != excludeLocation.Value : true))) {
|
||||||
|
var condition = context.Settings.Condition;
|
||||||
|
if (!string.IsNullOrEmpty(condition)) {
|
||||||
|
html.ViewContext.Writer.WriteLine("<!--[if " + condition + "]>");
|
||||||
|
}
|
||||||
html.ViewContext.Writer.WriteLine(context.GetTagBuilder(defaultSettings, appPath).ToString(context.Resource.TagRenderMode));
|
html.ViewContext.Writer.WriteLine(context.GetTagBuilder(defaultSettings, appPath).ToString(context.Resource.TagRenderMode));
|
||||||
|
if (!string.IsNullOrEmpty(condition)) {
|
||||||
|
html.ViewContext.Writer.WriteLine("<![endif]-->");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,10 +44,11 @@
|
|||||||
}
|
}
|
||||||
var dependencies = (from d in feature.Descriptor.Dependencies
|
var dependencies = (from d in feature.Descriptor.Dependencies
|
||||||
select (from f in Model.Features where f.Descriptor.Id == d select f).SingleOrDefault()).Where(f => f != null).OrderBy(f => f.Descriptor.Name);
|
select (from f in Model.Features where f.Descriptor.Id == d select f).SingleOrDefault()).Where(f => f != null).OrderBy(f => f.Descriptor.Name);
|
||||||
@* todo: missingDependencies -- show them in a special way. Can be found like this:
|
|
||||||
var missingDependencies = feature.Descriptor.Dependencies
|
var missingDependencies = feature.Descriptor.Dependencies
|
||||||
.Where(d => !Model.Features.Any(f => f.Descriptor.Id == d));
|
.Where(d => !Model.Features.Any(f => f.Descriptor.Id == d));
|
||||||
*@
|
if (showActions) {
|
||||||
|
showActions = missingDependencies.Count() == 0;
|
||||||
|
}
|
||||||
<li class="@featureClassName" id="@featureId" title="@T("{0} is {1}", Html.AttributeEncode(featureName), featureState)">
|
<li class="@featureClassName" id="@featureId" title="@T("{0} is {1}", Html.AttributeEncode(featureName), featureState)">
|
||||||
<div class="summary">
|
<div class="summary">
|
||||||
<div class="properties">
|
<div class="properties">
|
||||||
@@ -61,6 +62,11 @@
|
|||||||
"dependency",
|
"dependency",
|
||||||
"")
|
"")
|
||||||
</div>}
|
</div>}
|
||||||
|
@if (missingDependencies.Any()) {
|
||||||
|
<div class="missingdependencies">
|
||||||
|
<h4>@T("Missing:")</h4>
|
||||||
|
@Html.UnorderedList(missingDependencies, (s, i) => MvcHtmlString.Create(s), "", "missingdependency", "")
|
||||||
|
</div>}
|
||||||
</div>
|
</div>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
@if (showActions) {
|
@if (showActions) {
|
||||||
|
|||||||
@@ -107,6 +107,24 @@
|
|||||||
.features .dependencies li:last-child::after {
|
.features .dependencies li:last-child::after {
|
||||||
content:"";
|
content:"";
|
||||||
}
|
}
|
||||||
|
.features .missingdependencies {
|
||||||
|
font-size:.9em;
|
||||||
|
color:Red;
|
||||||
|
margin:.44em 0 0;
|
||||||
|
}
|
||||||
|
.features .missingdependencies>* {
|
||||||
|
display:inline;
|
||||||
|
}
|
||||||
|
.features .missingdependencies li {
|
||||||
|
display:inline;
|
||||||
|
margin-left:.5em;
|
||||||
|
}
|
||||||
|
.features .missingdependencies li::after {
|
||||||
|
content:", ";
|
||||||
|
}
|
||||||
|
.features .missingdependencies li:last-child::after {
|
||||||
|
content:"";
|
||||||
|
}
|
||||||
.features .feature .actions {
|
.features .feature .actions {
|
||||||
position:absolute;
|
position:absolute;
|
||||||
right:.4em;
|
right:.4em;
|
||||||
|
|||||||
@@ -283,7 +283,25 @@ namespace Orchard.Setup.Services {
|
|||||||
page.As<RoutePart>().Title = T("Welcome to Orchard!").Text;
|
page.As<RoutePart>().Title = T("Welcome to Orchard!").Text;
|
||||||
page.As<RoutePart>().Path = "";
|
page.As<RoutePart>().Path = "";
|
||||||
page.As<RoutePart>().Slug = "";
|
page.As<RoutePart>().Slug = "";
|
||||||
page.As<BodyPart>().Text = string.Format(CultureInfo.CurrentCulture, "<p>You’ve successfully setup your Orchard Site and this is the homepage of your new site. Here are a few things you can look at to get familiar with the application. Once you feel confident you don’t need this anymore, you can <a href=\"Admin/Contents/Edit/{0}\">remove this by going into editing mode</a> and replacing it with whatever you want.</p><p>First things first - You’ll probably want to <a href=\"Admin/Settings\">manage your settings</a> and configure Orchard to your liking. After that, you can head over to <a href=\"Admin/Themes\">manage themes to change or install new themes</a> and really make it your own. Once you’re happy with a look and feel, it’s time for some content. You can start creating new custom content types or start with some built-in ones by <a href=\"Admin/Pages/Create\">adding a page</a>, <a href=\"Admin/Blogs/Create\">creating a blog</a> or <a href=\"Admin/Navigation\">managing your menus.</a></p><p>Finally, Orchard has been designed to be extended. It comes with a few built-in modules such as pages and blogs or themes. If you’re looking to add additional functionality, you can do so by creating your own module or installing a new one that someone has made. Modules are created by other users of Orchard just like you so if you feel up to it, <a href=\"http://www.orchardproject.net/\">please consider participating</a>. XOXO – The Orchard Team </p>", page.Id);
|
page.As<BodyPart>().Text = T(
|
||||||
|
@"<p>You've successfully setup your Orchard Site and this is the homepage of your new site.
|
||||||
|
Here are a few things you can look at to get familiar with the application.
|
||||||
|
Once you feel confident you don't need this anymore, you can
|
||||||
|
<a href=""Admin/Contents/Edit/{0}"">remove it by going into editing mode</a>
|
||||||
|
and replacing it with whatever you want.</p>
|
||||||
|
<p>First things first - You'll probably want to <a href=""Admin/Settings"">manage your settings</a>
|
||||||
|
and configure Orchard to your liking. After that, you can head over to
|
||||||
|
<a href=""Admin/Themes"">manage themes to change or install new themes</a>
|
||||||
|
and really make it your own. Once you're happy with a look and feel, it's time for some content.
|
||||||
|
You can start creating new custom content types or start from the built-in ones by
|
||||||
|
<a href=""Admin/Pages/Create"">adding a page</a>, <a href=""Admin/Blogs/Create"">creating a blog</a>
|
||||||
|
or <a href=""Admin/Navigation"">managing your menus.</a></p>
|
||||||
|
<p>Finally, Orchard has been designed to be extended. It comes with a few built-in
|
||||||
|
modules such as pages and blogs or themes. If you're looking to add additional functionality,
|
||||||
|
you can do so by creating your own module or by installing one that somebody else built.
|
||||||
|
Modules are created by other users of Orchard just like you so if you feel up to it,
|
||||||
|
<a href=""http://orchardproject.net/contribution"">please consider participating</a>.</p>
|
||||||
|
<p>Thanks for using Orchard – The Orchard Team </p>", page.Id).Text;
|
||||||
|
|
||||||
contentManager.Publish(page);
|
contentManager.Publish(page);
|
||||||
siteSettings.Record.HomePage = "RoutableHomePageProvider;" + page.Id;
|
siteSettings.Record.HomePage = "RoutableHomePageProvider;" + page.Id;
|
||||||
|
|||||||
@@ -425,7 +425,7 @@ span.message {
|
|||||||
border:1px solid #ffea9b;
|
border:1px solid #ffea9b;
|
||||||
}
|
}
|
||||||
.message-Error {
|
.message-Error {
|
||||||
background:#e68585; /* green */
|
background:#e68585; /* red */
|
||||||
border:1px solid #990808;
|
border:1px solid #990808;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}.debug.message {
|
}.debug.message {
|
||||||
@@ -477,6 +477,8 @@ label input {
|
|||||||
}
|
}
|
||||||
.hint {
|
.hint {
|
||||||
display:block;
|
display:block;
|
||||||
|
font-size:0.923em;
|
||||||
|
color:#7c7c7c;
|
||||||
}
|
}
|
||||||
/* todo: (heskew) try to get .text on stuff like .text-box */
|
/* todo: (heskew) try to get .text on stuff like .text-box */
|
||||||
select, textarea, input.text, input.textMedium, input.text-box {
|
select, textarea, input.text, input.textMedium, input.text-box {
|
||||||
@@ -821,7 +823,7 @@ table.items th, table.items td {
|
|||||||
|
|
||||||
|
|
||||||
/* Core Modules
|
/* Core Modules
|
||||||
----------------------------------------------------------*/
|
***************************************************************/
|
||||||
/* Routable */
|
/* Routable */
|
||||||
.permalink input.text {
|
.permalink input.text {
|
||||||
background:transparent;
|
background:transparent;
|
||||||
@@ -897,7 +899,7 @@ fieldset.publish-later-datetime input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Fields
|
/* Fields
|
||||||
----------------------------------------------------------*/
|
***************************************************************/
|
||||||
/* TextField */
|
/* TextField */
|
||||||
#main .summary p.text-field {
|
#main .summary p.text-field {
|
||||||
margin:.5em 0;
|
margin:.5em 0;
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ aside h6 { font-size: 1em; }
|
|||||||
/* Lists */
|
/* Lists */
|
||||||
li ul,
|
li ul,
|
||||||
li ol { margin:0 1.5em; }
|
li ol { margin:0 1.5em; }
|
||||||
ul, ol { margin: 0 1.5em 1.5em 1.5em; }
|
ul, ol { margin: 1.5em; line-height: 1.538em; }
|
||||||
|
|
||||||
ul { list-style-type: disc; }
|
ul { list-style-type: disc; }
|
||||||
ol { list-style-type: decimal; }
|
ol { list-style-type: decimal; }
|
||||||
@@ -391,6 +391,12 @@ nav ul
|
|||||||
.search-results .blog-post .metadata .published { display: inline; margin: 0 6px 0 0; }
|
.search-results .blog-post .metadata .published { display: inline; margin: 0 6px 0 0; }
|
||||||
.search-results .blog-post .metadata .commentcount { display: inline; }
|
.search-results .blog-post .metadata .commentcount { display: inline; }
|
||||||
|
|
||||||
|
/* Confirmations */
|
||||||
|
.message, .validation-summary-errors { margin:10px 0 4px 0; padding:4px; }
|
||||||
|
.messages a { font-weight:bold; }
|
||||||
|
.message-Information { background:#e6f1c9; /* green */ border:1px solid #cfe493; color:#062232; }
|
||||||
|
.message-Warning { background:#fdf5bc; /* yellow */ border:1px solid #ffea9b; }
|
||||||
|
.critical.message, .validation-summary-errors, .message-Error { background:#e68585; /* red */ border:1px solid #990808; color:#fff; }
|
||||||
|
|
||||||
|
|
||||||
/* Secondary
|
/* Secondary
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<div class="credits"><span class="poweredby">@T("Powered by <a href=\"{0}\" title=\"Welcome to the New World Order\" target=\"_blank\">Orchard</a>", "http://www.orchardproject.net")</span> <span class="copyright">@T("© The Theme Machine 2010.")</span></div>
|
<div class="credits"><span class="poweredby">@T("Powered by <a href=\"{0}\" target=\"_blank\">Orchard</a>", "http://www.orchardproject.net")</span> <span class="copyright">@T("© The Theme Machine 2010.")</span></div>
|
||||||
@@ -77,7 +77,13 @@ namespace Orchard.Environment.Extensions {
|
|||||||
var featureId = featureDescriptor.Id;
|
var featureId = featureDescriptor.Id;
|
||||||
var extensionId = extensionDescriptor.Id;
|
var extensionId = extensionDescriptor.Id;
|
||||||
|
|
||||||
var extensionEntry = _cacheManager.Get(extensionId, ctx => BuildEntry(extensionDescriptor));
|
ExtensionEntry extensionEntry;
|
||||||
|
try {
|
||||||
|
extensionEntry = _cacheManager.Get(extensionId, ctx => BuildEntry(extensionDescriptor));
|
||||||
|
}
|
||||||
|
catch (Exception ex) {
|
||||||
|
throw new OrchardException(T("Error while loading extension '{0}'.", extensionId), ex);
|
||||||
|
}
|
||||||
if (extensionEntry == null) {
|
if (extensionEntry == null) {
|
||||||
// If the feature could not be compiled for some reason,
|
// If the feature could not be compiled for some reason,
|
||||||
// return a "null" feature, i.e. a feature with no exported types.
|
// return a "null" feature, i.e. a feature with no exported types.
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ namespace Orchard.UI.Resources {
|
|||||||
public bool DebugMode { get; set; }
|
public bool DebugMode { get; set; }
|
||||||
public bool CdnMode { get; set; }
|
public bool CdnMode { get; set; }
|
||||||
public ResourceLocation Location { get; set; }
|
public ResourceLocation Location { get; set; }
|
||||||
|
public string Condition { get; set; }
|
||||||
public Action<ResourceDefinition> InlineDefinition { get; set; }
|
public Action<ResourceDefinition> InlineDefinition { get; set; }
|
||||||
|
|
||||||
public RequireSettings AtHead() {
|
public RequireSettings AtHead() {
|
||||||
@@ -55,6 +56,11 @@ namespace Orchard.UI.Resources {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RequireSettings UseCondition(string condition) {
|
||||||
|
Condition = Condition ?? condition;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public RequireSettings Define(Action<ResourceDefinition> resourceDefinition) {
|
public RequireSettings Define(Action<ResourceDefinition> resourceDefinition) {
|
||||||
InlineDefinition = resourceDefinition ?? InlineDefinition;
|
InlineDefinition = resourceDefinition ?? InlineDefinition;
|
||||||
return this;
|
return this;
|
||||||
@@ -69,6 +75,7 @@ namespace Orchard.UI.Resources {
|
|||||||
.UseCdn(CdnMode).UseCdn(other.CdnMode)
|
.UseCdn(CdnMode).UseCdn(other.CdnMode)
|
||||||
.UseDebugMode(DebugMode).UseDebugMode(other.DebugMode)
|
.UseDebugMode(DebugMode).UseDebugMode(other.DebugMode)
|
||||||
.UseCulture(Culture).UseCulture(other.Culture)
|
.UseCulture(Culture).UseCulture(other.Culture)
|
||||||
|
.UseCondition(Condition).UseCondition(other.Condition)
|
||||||
.Define(InlineDefinition).Define(other.InlineDefinition);
|
.Define(InlineDefinition).Define(other.InlineDefinition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user