mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 03:25:23 +08:00
Adding some spec tests for the routeable part's slug prefix display in the editor (for blogs)
--HG-- branch : dev
This commit is contained in:
@@ -10,12 +10,18 @@ namespace Orchard.Specs.Bindings {
|
||||
public class OrchardSiteFactory : BindingBase {
|
||||
[Given(@"I have installed Orchard")]
|
||||
public void GivenIHaveInstalledOrchard() {
|
||||
GivenIHaveInstalledOrchard("/");
|
||||
}
|
||||
|
||||
[Given(@"I have installed Orchard at ""(.*)\""")]
|
||||
public void GivenIHaveInstalledOrchard(string virtualDirectory) {
|
||||
var webApp = Binding<WebAppHosting>();
|
||||
|
||||
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 = "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");
|
||||
|
||||
|
@@ -60,8 +60,8 @@ namespace Orchard.Specs.Bindings {
|
||||
}
|
||||
|
||||
[Given(@"I have a clean site")]
|
||||
public void GivenIHaveACleanSite() {
|
||||
GivenIHaveACleanSiteBasedOn("Orchard.Web");
|
||||
public void GivenIHaveACleanSite(string virtualDirectory = "/") {
|
||||
GivenIHaveACleanSiteBasedOn("Orchard.Web", virtualDirectory);
|
||||
}
|
||||
|
||||
[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 (.*)")]
|
||||
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);
|
||||
Host.Initialize(siteFolder, "/");
|
||||
Host.Initialize(siteFolder, virtualDirectory ?? "/");
|
||||
var shuttle = new Shuttle();
|
||||
Host.Execute(() => {
|
||||
log4net.Config.BasicConfigurator.Configure(new CastleAppender());
|
||||
@@ -124,8 +129,8 @@ namespace Orchard.Specs.Bindings {
|
||||
}
|
||||
|
||||
[Given(@"I have a clean site with")]
|
||||
public void GivenIHaveACleanSiteWith(Table table) {
|
||||
GivenIHaveACleanSite();
|
||||
public void GivenIHaveACleanSiteWith(Table table, string virtualDirectory = "/") {
|
||||
GivenIHaveACleanSite(virtualDirectory);
|
||||
foreach (var row in table.Rows) {
|
||||
foreach (var name in row["names"].Split(',').Select(x => x.Trim())) {
|
||||
switch (row["extension"]) {
|
||||
|
@@ -125,4 +125,26 @@ Scenario: Enabling remote blog publishing inserts the appropriate metaweblogapi
|
||||
When I go to "/XmlRpc/LiveWriter/Manifest"
|
||||
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 "<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>
|
||||
// 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
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
@@ -14,7 +14,7 @@ namespace Orchard.Specs
|
||||
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()]
|
||||
[NUnit.Framework.TestFixtureAttribute()]
|
||||
[NUnit.Framework.DescriptionAttribute("Blog")]
|
||||
@@ -31,7 +31,7 @@ namespace Orchard.Specs
|
||||
{
|
||||
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" +
|
||||
", publish and edit blog posts", ((string[])(null)));
|
||||
", publish and edit blog posts", GenerationTargetLanguage.CSharp, ((string[])(null)));
|
||||
testRunner.OnFeatureStart(featureInfo);
|
||||
}
|
||||
|
||||
@@ -61,11 +61,11 @@ namespace Orchard.Specs
|
||||
#line 6
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 7
|
||||
testRunner.Given("I have installed Orchard");
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 8
|
||||
testRunner.When("I go to \"admin\"");
|
||||
testRunner.When("I go to \"admin\"");
|
||||
#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
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -78,9 +78,9 @@ testRunner.Then("I should see \"<a href=\"/Admin/Blogs/Create\">Blogs</a>\"");
|
||||
#line 11
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 12
|
||||
testRunner.Given("I have installed Orchard");
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 13
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table1 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -89,15 +89,15 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
||||
"Routable.Title",
|
||||
"My Blog"});
|
||||
#line 14
|
||||
testRunner.And("I fill in", ((string)(null)), table1);
|
||||
testRunner.And("I fill in", ((string)(null)), table1);
|
||||
#line 17
|
||||
testRunner.And("I hit \"Save\"");
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#line 18
|
||||
testRunner.And("I go to \"my-blog\"");
|
||||
testRunner.And("I go to \"my-blog\"");
|
||||
#line 19
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||
#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
|
||||
TechTalk.SpecFlow.Table table2 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -109,15 +109,15 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||
"Body.Text",
|
||||
"Hi there."});
|
||||
#line 21
|
||||
testRunner.And("I fill in", ((string)(null)), table2);
|
||||
testRunner.And("I fill in", ((string)(null)), table2);
|
||||
#line 25
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
#line 26
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
#line 27
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
#line 28
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -132,9 +132,9 @@ testRunner.And("I should see \"Hi there.\"");
|
||||
#line 30
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 31
|
||||
testRunner.Given("I have installed Orchard");
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 32
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table3 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -143,11 +143,11 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
||||
"Routable.Title",
|
||||
"My Blog"});
|
||||
#line 33
|
||||
testRunner.And("I fill in", ((string)(null)), table3);
|
||||
testRunner.And("I fill in", ((string)(null)), table3);
|
||||
#line 36
|
||||
testRunner.And("I hit \"Save\"");
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#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
|
||||
TechTalk.SpecFlow.Table table4 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -159,17 +159,17 @@ testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||
"Body.Text",
|
||||
"Hi there."});
|
||||
#line 38
|
||||
testRunner.And("I fill in", ((string)(null)), table4);
|
||||
testRunner.And("I fill in", ((string)(null)), table4);
|
||||
#line 42
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
#line 43
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
#line 44
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
#line 45
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
#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
|
||||
TechTalk.SpecFlow.Table table5 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -181,17 +181,17 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||
"Body.Text",
|
||||
"Hi there, again."});
|
||||
#line 47
|
||||
testRunner.And("I fill in", ((string)(null)), table5);
|
||||
testRunner.And("I fill in", ((string)(null)), table5);
|
||||
#line 51
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
#line 52
|
||||
testRunner.And("I go to \"my-blog/my-post-2\"");
|
||||
testRunner.And("I go to \"my-blog/my-post-2\"");
|
||||
#line 53
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
#line 54
|
||||
testRunner.And("I should see \"Hi there, again.\"");
|
||||
testRunner.And("I should see \"Hi there, again.\"");
|
||||
#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
|
||||
TechTalk.SpecFlow.Table table6 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -206,15 +206,15 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||
"Body.Text",
|
||||
"Are you still there?"});
|
||||
#line 56
|
||||
testRunner.And("I fill in", ((string)(null)), table6);
|
||||
testRunner.And("I fill in", ((string)(null)), table6);
|
||||
#line 61
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
#line 62
|
||||
testRunner.And("I go to \"my-blog/my-post-3\"");
|
||||
testRunner.And("I go to \"my-blog/my-post-3\"");
|
||||
#line 63
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
#line 64
|
||||
testRunner.And("I should see \"Are you still there?\"");
|
||||
testRunner.And("I should see \"Are you still there?\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -229,9 +229,9 @@ testRunner.And("I should see \"Are you still there?\"");
|
||||
#line 66
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 67
|
||||
testRunner.Given("I have installed Orchard");
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 68
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table7 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -240,15 +240,15 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
||||
"Routable.Title",
|
||||
"My Blog"});
|
||||
#line 69
|
||||
testRunner.And("I fill in", ((string)(null)), table7);
|
||||
testRunner.And("I fill in", ((string)(null)), table7);
|
||||
#line 72
|
||||
testRunner.And("I hit \"Save\"");
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#line 73
|
||||
testRunner.And("I go to \"my-blog\"");
|
||||
testRunner.And("I go to \"my-blog\"");
|
||||
#line 74
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||
#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
|
||||
TechTalk.SpecFlow.Table table8 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -260,19 +260,19 @@ testRunner.When("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||
"Body.Text",
|
||||
"Hi there."});
|
||||
#line 76
|
||||
testRunner.And("I fill in", ((string)(null)), table8);
|
||||
testRunner.And("I fill in", ((string)(null)), table8);
|
||||
#line 80
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
#line 81
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
#line 82
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
#line 83
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
#line 84
|
||||
testRunner.When("I go to \"admin/blogs/my-blog\"");
|
||||
testRunner.When("I go to \"admin/blogs/my-blog\"");
|
||||
#line 85
|
||||
testRunner.And("I follow \"Blog Properties\"");
|
||||
testRunner.And("I follow \"Blog Properties\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table9 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -281,19 +281,19 @@ testRunner.And("I follow \"Blog Properties\"");
|
||||
"Routable.Slug",
|
||||
"my-other-blog"});
|
||||
#line 86
|
||||
testRunner.And("I fill in", ((string)(null)), table9);
|
||||
testRunner.And("I fill in", ((string)(null)), table9);
|
||||
#line 89
|
||||
testRunner.And("I hit \"Save\"");
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#line 90
|
||||
testRunner.And("I go to \"my-other-blog\"");
|
||||
testRunner.And("I go to \"my-other-blog\"");
|
||||
#line 91
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Blog.*?</h1>\"");
|
||||
#line 92
|
||||
testRunner.When("I go to \"my-other-blog/my-post\"");
|
||||
testRunner.When("I go to \"my-other-blog/my-post\"");
|
||||
#line 93
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
testRunner.Then("I should see \"<h1[^>]*>.*?My Post.*?</h1>\"");
|
||||
#line 94
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
testRunner.And("I should see \"Hi there.\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -306,9 +306,9 @@ testRunner.And("I should see \"Hi there.\"");
|
||||
#line 96
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 97
|
||||
testRunner.Given("I have installed Orchard");
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 98
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table10 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -317,11 +317,11 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
||||
"Routable.Title",
|
||||
"My Blog"});
|
||||
#line 99
|
||||
testRunner.And("I fill in", ((string)(null)), table10);
|
||||
testRunner.And("I fill in", ((string)(null)), table10);
|
||||
#line 102
|
||||
testRunner.And("I hit \"Save\"");
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#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
|
||||
TechTalk.SpecFlow.Table table11 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -333,15 +333,15 @@ testRunner.And("I go to \"admin/blogs/my-blog/posts/create\"");
|
||||
"Body.Text",
|
||||
"Hi there."});
|
||||
#line 104
|
||||
testRunner.And("I fill in", ((string)(null)), table11);
|
||||
testRunner.And("I fill in", ((string)(null)), table11);
|
||||
#line 108
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
testRunner.And("I hit \"Publish Now\"");
|
||||
#line 109
|
||||
testRunner.And("I am redirected");
|
||||
testRunner.And("I am redirected");
|
||||
#line 110
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
testRunner.And("I go to \"my-blog/my-post\"");
|
||||
#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+\" />\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
@@ -357,13 +357,13 @@ testRunner.Then("I should see \"<link rel=\"alternate\" type=\"application/rss\\
|
||||
#line 114
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 115
|
||||
testRunner.Given("I have installed Orchard");
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 116
|
||||
testRunner.And("I have enabled \"XmlRpc\"");
|
||||
testRunner.And("I have enabled \"XmlRpc\"");
|
||||
#line 117
|
||||
testRunner.And("I have enabled \"Orchard.Blogs.RemotePublishing\"");
|
||||
testRunner.And("I have enabled \"Orchard.Blogs.RemotePublishing\"");
|
||||
#line 118
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
testRunner.When("I go to \"admin/blogs/create\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table12 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -372,23 +372,91 @@ testRunner.When("I go to \"admin/blogs/create\"");
|
||||
"Routable.Title",
|
||||
"My Blog"});
|
||||
#line 119
|
||||
testRunner.And("I fill in", ((string)(null)), table12);
|
||||
testRunner.And("I fill in", ((string)(null)), table12);
|
||||
#line 122
|
||||
testRunner.And("I hit \"Save\"");
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#line 123
|
||||
testRunner.And("I go to \"my-blog\"");
|
||||
testRunner.And("I go to \"my-blog\"");
|
||||
#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\" />\"");
|
||||
#line 125
|
||||
testRunner.When("I go to \"/XmlRpc/LiveWriter/Manifest\"");
|
||||
testRunner.When("I go to \"/XmlRpc/LiveWriter/Manifest\"");
|
||||
#line 126
|
||||
testRunner.Then("the content type should be \"\\btext/xml\\b\"");
|
||||
testRunner.Then("the content type should be \"\\btext/xml\\b\"");
|
||||
#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\">\"");
|
||||
#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
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
|
@@ -6,8 +6,6 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Hosting;
|
||||
using HtmlAgilityPack;
|
||||
using Orchard.Commands;
|
||||
using Orchard.Specs.Util;
|
||||
|
||||
namespace Orchard.Specs.Hosting {
|
||||
@@ -16,12 +14,13 @@ namespace Orchard.Specs.Hosting {
|
||||
|
||||
var physicalPath = Bleroy.FluentPath.Path.Get(webHost.PhysicalDirectory);
|
||||
|
||||
urlPath = StripVDir(urlPath, webHost.VirtualDirectory);
|
||||
var details = new RequestDetails {
|
||||
HostName = webHost.HostName,
|
||||
UrlPath = urlPath,
|
||||
Page = physicalPath
|
||||
.Combine(urlPath.TrimStart('/', '\\'))
|
||||
.GetRelativePath(physicalPath),
|
||||
.GetRelativePath(physicalPath)
|
||||
};
|
||||
|
||||
if (!string.IsNullOrEmpty(webHost.Cookies)) {
|
||||
@@ -52,6 +51,12 @@ namespace Orchard.Specs.Hosting {
|
||||
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) {
|
||||
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>
|
||||
// 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
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
@@ -14,7 +14,7 @@ namespace Orchard.Specs
|
||||
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()]
|
||||
[NUnit.Framework.TestFixtureAttribute()]
|
||||
[NUnit.Framework.DescriptionAttribute("Web Hosting")]
|
||||
@@ -31,7 +31,7 @@ namespace Orchard.Specs
|
||||
{
|
||||
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" +
|
||||
"g is working", ((string[])(null)));
|
||||
"g is working", GenerationTargetLanguage.CSharp, ((string[])(null)));
|
||||
testRunner.OnFeatureStart(featureInfo);
|
||||
}
|
||||
|
||||
@@ -61,13 +61,13 @@ namespace Orchard.Specs
|
||||
#line 6
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"Content/Static.txt\"");
|
||||
testRunner.When("I go to \"Content/Static.txt\"");
|
||||
#line 9
|
||||
testRunner.Then("I should see \"Hello world!\"");
|
||||
testRunner.Then("I should see \"Hello world!\"");
|
||||
#line 10
|
||||
testRunner.And("the status should be 200 \"OK\"");
|
||||
testRunner.And("the status should be 200 \"OK\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -80,13 +80,13 @@ testRunner.And("the status should be 200 \"OK\"");
|
||||
#line 12
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"Simple/Page.aspx\"");
|
||||
testRunner.When("I go to \"Simple/Page.aspx\"");
|
||||
#line 15
|
||||
testRunner.Then("I should see \"Hello again\"");
|
||||
testRunner.Then("I should see \"Hello again\"");
|
||||
#line 16
|
||||
testRunner.And("the status should be 200 \"OK\"");
|
||||
testRunner.And("the status should be 200 \"OK\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -99,13 +99,13 @@ testRunner.And("the status should be 200 \"OK\"");
|
||||
#line 18
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"hello-world\"");
|
||||
testRunner.When("I go to \"hello-world\"");
|
||||
#line 21
|
||||
testRunner.Then("the status should be 200 \"OK\"");
|
||||
testRunner.Then("the status should be 200 \"OK\"");
|
||||
#line 22
|
||||
testRunner.And("I should see \"Hello yet again\"");
|
||||
testRunner.And("I should see \"Hello yet again\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -118,15 +118,15 @@ testRunner.And("I should see \"Hello yet again\"");
|
||||
#line 24
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"/simple/page.aspx\"");
|
||||
testRunner.When("I go to \"/simple/page.aspx\"");
|
||||
#line 27
|
||||
testRunner.And("I follow \"next page\"");
|
||||
testRunner.And("I follow \"next page\"");
|
||||
#line 28
|
||||
testRunner.Then("the status should be 200 \"OK\"");
|
||||
testRunner.Then("the status should be 200 \"OK\"");
|
||||
#line 29
|
||||
testRunner.And("I should see \"Hello yet again\"");
|
||||
testRunner.And("I should see \"Hello yet again\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -139,9 +139,9 @@ testRunner.And("I should see \"Hello yet again\"");
|
||||
#line 31
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.And("I am on \"/simple/page.aspx\"");
|
||||
testRunner.And("I am on \"/simple/page.aspx\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table1 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
@@ -150,15 +150,15 @@ testRunner.And("I am on \"/simple/page.aspx\"");
|
||||
"input1",
|
||||
"gamma"});
|
||||
#line 34
|
||||
testRunner.When("I fill in", ((string)(null)), table1);
|
||||
testRunner.When("I fill in", ((string)(null)), table1);
|
||||
#line 37
|
||||
testRunner.And("I hit \"Go!\"");
|
||||
testRunner.And("I hit \"Go!\"");
|
||||
#line 38
|
||||
testRunner.Then("I should see \"passthrough1:alpha\"");
|
||||
testRunner.Then("I should see \"passthrough1:alpha\"");
|
||||
#line 39
|
||||
testRunner.And("I should see \"passthrough2:beta\"");
|
||||
testRunner.And("I should see \"passthrough2:beta\"");
|
||||
#line 40
|
||||
testRunner.And("I should see \"input1:gamma\"");
|
||||
testRunner.And("I should see \"input1:gamma\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -171,13 +171,13 @@ testRunner.And("I should see \"input1:gamma\"");
|
||||
#line 42
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"/simple/cookie-set.aspx\"");
|
||||
testRunner.When("I go to \"/simple/cookie-set.aspx\"");
|
||||
#line 45
|
||||
testRunner.And("I go to \"/simple/cookie-show.aspx\"");
|
||||
testRunner.And("I go to \"/simple/cookie-show.aspx\"");
|
||||
#line 46
|
||||
testRunner.Then("I should see \"foo:bar\"");
|
||||
testRunner.Then("I should see \"foo:bar\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -190,13 +190,13 @@ testRunner.Then("I should see \"foo:bar\"");
|
||||
#line 48
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"/simple/redir.aspx\"");
|
||||
testRunner.When("I go to \"/simple/redir.aspx\"");
|
||||
#line 51
|
||||
testRunner.And("I am redirected");
|
||||
testRunner.And("I am redirected");
|
||||
#line 52
|
||||
testRunner.Then("I should see \"Hello again\"");
|
||||
testRunner.Then("I should see \"Hello again\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -209,11 +209,11 @@ testRunner.Then("I should see \"Hello again\"");
|
||||
#line 54
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"/Modules/Orchard.Blogs/module.txt\"");
|
||||
testRunner.When("I go to \"/Modules/Orchard.Blogs/module.txt\"");
|
||||
#line 57
|
||||
testRunner.Then("the status should be 404 \"Not Found\"");
|
||||
testRunner.Then("the status should be 404 \"Not Found\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
@@ -226,11 +226,11 @@ testRunner.Then("the status should be 404 \"Not Found\"");
|
||||
#line 59
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#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
|
||||
testRunner.When("I go to \"/Themes/Classic/theme.txt\"");
|
||||
testRunner.When("I go to \"/Themes/Classic/theme.txt\"");
|
||||
#line 62
|
||||
testRunner.Then("the status should be 404 \"Not Found\"");
|
||||
testRunner.Then("the status should be 404 \"Not Found\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
|
Reference in New Issue
Block a user