Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8684: Merge 1.10.x into dev #8685

Merged
merged 120 commits into from
Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
d57af58
Added tokenizable default value to ContentPickerFields (#8351)
Apr 16, 2020
21cb531
Fixes errors during Indexing (#8349)
HermesSbicego-Laser Apr 16, 2020
b523b34
Added admin search permissions (#8346)
Apr 16, 2020
c1374f9
Reuse Settings_ShellDescriptorRecord during an http request (#8355)
HermesSbicego-Laser Apr 30, 2020
b2a8e92
Added a new index to CommonPartRecord (#8362)
Apr 30, 2020
a75203b
Attempted AutoroutePart improvement (#8360)
Apr 30, 2020
6046403
Save MemberBindingRecords in memory (#8371)
May 7, 2020
9392718
Cache list of configured layers (#8373)
May 7, 2020
f581d23
Memorize query results in blog service (#8374)
May 14, 2020
488e18d
Updated UI for projections (#8380)
May 21, 2020
f0c5b62
Process ignored paths while being aware of RequestUrlPrefix (#8384)
Jun 5, 2020
2bc7079
tokens sort criteria (#8382)
Jun 5, 2020
df2bdb3
Remove lock from the dictionary when the task has completed. (#8395)
imranazad Jun 18, 2020
c622031
Update DistributedLockService.cs (#8398)
imranazad Jul 9, 2020
868ce12
fix for CPF when other scripts are also adding to sessionStorage (#8404)
Jul 30, 2020
c566e12
Fixes Boolean Conversion error (#8393)
HermesSbicego-Laser Sep 3, 2020
3ceda38
Fix/8392 remeber me model state exception (#8410)
HermesSbicego-Laser Sep 4, 2020
6dc4f62
Removed changes to model bindings (#8412)
Sep 7, 2020
b528ecd
New version of Boolean Binder Provider (#8413)
Sep 11, 2020
f67e6b3
Upgrade host resolution (#8387)
Sep 18, 2020
66a611f
Handle the case where a form sends more than one attempted value for …
Sep 18, 2020
993e57d
fix record mapping nhibernate (#8415)
LorenzoFrediani-Laser Sep 24, 2020
0a41199
Allow downstream methods to set default value (#8419)
Sep 24, 2020
b583f8f
Fixed Media Library Picker Style (#8433)
ElenaRepository Dec 3, 2020
6e410a3
Removed check preventing reassignment of loader delegates (#8436)
Dec 3, 2020
d3aca80
Added an event activity for workflows that activates on the first Upd…
Dec 17, 2020
700b029
target framework 4.8 to all projects (#8444)
HermesSbicego-Laser Jan 7, 2021
0c34ca3
Feature/8445 libraries update (#8446)
HermesSbicego-Laser Feb 4, 2021
76fc64f
Fixed conflict with style for layouts (#8456)
Feb 4, 2021
c524067
Feature/upgradable libraries (#8457)
HermesSbicego-Laser Feb 18, 2021
3b9c5fe
Updated Migration for CommonPartRecord and IdentityPartRecord (#8459)
Feb 26, 2021
089bc1d
Prevents throwing exception when Href is null (#8461)
HermesSbicego-Laser Mar 19, 2021
f407af5
added culture in widgets page (#8466)
ElenaRepository Apr 19, 2021
1d8c589
Show disable action for deprecated features even if they are categori…
HermesSbicego-Laser Apr 22, 2021
6d0a29a
Upgrades YamlDotNet from 9.1.3 to 11.1.1 because 9.1.3 is not more av…
HermesSbicego-Laser May 12, 2021
230dfc3
Bypass cache for XSRF Tokens (#8470)
HermesSbicego-Laser May 14, 2021
f23d929
flag exclude children for taxonomies (#8481)
ElenaRepository Jun 21, 2021
7131970
Remove cache by tag on Unpublished (#8483)
Jun 25, 2021
af42947
Cloning doesn't overwrite identity (#8487)
Jul 30, 2021
b37256f
Update nhibernate (#8488)
Jul 30, 2021
074a0b1
Fixes disposed LifetimeScope issue (#8490)
Jul 30, 2021
d2e535f
Revert "Cloning doesn't overwrite identity (#8487)" (#8495)
Aug 5, 2021
0859793
Remove whitespace when importing list of permissions (#8499)
Sep 3, 2021
b00678a
Force enumeration of list of permissions.
Sep 3, 2021
4e69612
Projection default settings (#8497)
HermesSbicego-Laser Sep 3, 2021
e447561
HtmlDecode token (#8501)
AndreaPiovanelli Sep 10, 2021
d51418b
Sets SSL redirection as permanent for SEO reasons (#8503)
HermesSbicego-Laser Sep 16, 2021
e771a56
Added null checks (#8511)
Sep 24, 2021
a8de3af
Fix/editmenulink (#8515)
AndreaPiovanelli Oct 25, 2021
987291c
Fixed various typos: (#8512)
AndreaPiovanelli Oct 29, 2021
ea3c7d8
Added descriptor to audit trail context (#8517)
Dec 10, 2021
88a79cb
Added LayoutSaving call to context in WidgetElementHarvester to prope…
AndreaPiovanelli Feb 9, 2022
ebfd03d
Use a variable with an actual path to a base url to find the actual p…
Mar 17, 2022
5b0c82d
Added specific permission to change owner of content item (#8539)
Mar 18, 2022
ab7c0f2
checked null part (#8543)
ElenaRepository Mar 18, 2022
863d4a9
Layout elements cloning (#8538)
AndreaPiovanelli Mar 18, 2022
a5f6575
Fixed bug with medialibrary plugin where I had forgotten to replace a…
Apr 1, 2022
c0fa82f
Handlers to redirect creating and editing users to the correct contro…
Apr 1, 2022
0973810
added the missing minification files (#8553)
ElenaRepository Apr 1, 2022
f161693
Moved ShapeTracing js includes at head (#8560)
AndreaPiovanelli Jun 17, 2022
9f37c23
allow RecipeManager to affect execution timeout (#8572)
AndreaPiovanelli Jun 17, 2022
d0bd8d0
Create unique HTML element ids for boolean fields edited via radio bu…
HermesSbicego-Laser Jul 8, 2022
c38e681
Feature/blogposts search (#8570)
AndreaPiovanelli Jul 8, 2022
343ceb7
8599 nullable field values (#8600)
AndreaPiovanelli Jul 15, 2022
ddc56c8
Moved logic for max file path length in file storage provider (#8603)
AndreaPiovanelli Sep 5, 2022
a402c82
Bump version for owin packages. (#8617)
Sep 19, 2022
8f73299
Added cachekey parameter to discriminate between ajax and "normal" ca…
Oct 14, 2022
ba5873a
Fix for issue 8631: field values are reset when imported (#8632)
AgostiniAlessandro Oct 14, 2022
f76f7bd
Updated SharpZipLib to 1.3.3 (#8633)
Oct 20, 2022
2a1b0b3
Added hints to show technical names in list of content types and cont…
AgostiniAlessandro Dec 6, 2022
eed4a6a
Checked page parameter to ensure a integer numeric value is provided.…
AndreaPiovanelli Jan 13, 2023
7bf78ef
check the culture is supported (#8646)
AgostiniAlessandro Jan 20, 2023
babe1d6
Added sequential upload parameter to fileupload() parameters when imp…
AndreaPiovanelli Feb 27, 2023
9728831
8657 roleactivities: adds role event activities and handlers for work…
AndreaPiovanelli Mar 17, 2023
7ac1727
If MenuPart is a ContentMenuItem, check if the content is published b…
AndreaPiovanelli Mar 17, 2023
d5acf2d
Email confirmation fail on multiple confirmation attempts (#8656)
AgostiniAlessandro Mar 17, 2023
10e5078
Corrected RoleEvent actions to match activity outcomes (RoleRenamed -…
AndreaPiovanelli Mar 31, 2023
55ec9e2
No term selection option in TaxonomyField (#8667)
AndreaPiovanelli Apr 21, 2023
6283106
Adds the ability to insert/edit snippets of html source code (#8668)
HermesSbicego-Laser Apr 28, 2023
ff2f222
added orchardFeature attribute where it was missing in Orchard.Roles …
May 5, 2023
bf8cc13
Perf: ExtensionManager (#8677)
May 5, 2023
12e9f06
Perf: shapetable sorting (#8676)
May 5, 2023
05e3c19
Feature/tinymce contentlinks plugin (#8679)
HermesSbicego-Laser May 8, 2023
0510505
Merge branch '1.10.x' into issue/8684
BenedekFarkas May 16, 2023
610b3c4
Fixing warning in Orchard.MediaLibrary/Views/ClientStorage/Index.csht…
BenedekFarkas May 17, 2023
49fe610
Merge branch '1.10.x' into issue/8684
BenedekFarkas May 25, 2023
1a81d95
Merge branch 'dev' into issue/8684
BenedekFarkas May 25, 2023
aa811bc
Fixing auto-merge mistakes
BenedekFarkas May 25, 2023
0f12e29
Updating Orchard.Projections/Migrations.cs after merge to fix version…
BenedekFarkas May 25, 2023
3f317e3
Adapting ProjectionPartEditorEvents according to updated services
BenedekFarkas May 25, 2023
bda44db
Fixing Orchard.Tests.Modules.csproj
BenedekFarkas May 25, 2023
c16f73e
Grabbing compile workflow from the issue/8686 branch, but disabled th…
BenedekFarkas May 25, 2023
e55dbb0
Changed Loader and Setter delegates of the LazyFields of Localization…
May 26, 2023
a215e60
Added dictionaries to memorize results of queries and avoid repeating…
May 26, 2023
9122abb
Added missing module dependency (#8694)
May 26, 2023
3d119c6
Removing non-existing file from NHibernate.Linq.csproj
BenedekFarkas May 31, 2023
380c009
Updating src/Orchard.Web/Core/Common/Migrations.cs steps to remain co…
BenedekFarkas Jun 1, 2023
4e609d8
Updating comments in src/Orchard.Web/Core/Common/Migrations.cs
BenedekFarkas Jun 1, 2023
bf0c71c
Added lock on md5 variable to avoid concurrent hash generations for f…
AndreaPiovanelli Jun 19, 2023
dd512b4
Adding the compile workflow to the solution
BenedekFarkas Jun 28, 2023
711e827
Updating the compile workflow to run the build + tests on PR, dev and…
BenedekFarkas Jun 28, 2023
9c90dfb
Revert "Updating the compile workflow to run the build + tests on PR,…
BenedekFarkas Jun 28, 2023
2ff3ef4
Revert "Adding the compile workflow to the solution"
BenedekFarkas Jun 28, 2023
731b223
8686: Fixing build and tests on 1.10.x (#8687)
BenedekFarkas Jun 28, 2023
642a07f
Merge branch '1.10.x' into issue/8684
BenedekFarkas Jun 28, 2023
2be2ecc
Disabling test execution for now, as tests will be fixed in the issue…
BenedekFarkas Jun 28, 2023
05079ef
Fix mapping records in nested namespaces (#8681) (#8682)
MpDzik Jun 29, 2023
bdba35c
Fix bug in updating settings for fields (#8703)
Jun 30, 2023
729f8dd
Cache CultureRecords by both Id and Name (#8708)
Jul 7, 2023
f1d655d
Merge branch '1.10.x' into issue/8684
BenedekFarkas Jul 11, 2023
b0b95ce
Merge remote-tracking branch 'origin/dev' into issue/8684
BenedekFarkas Jul 11, 2023
fa6eae4
Merge branch 'dev' into issue/8684
BenedekFarkas Jul 12, 2023
8793d4d
Resolving conflict between 1.10.x and dev in the order of migration s…
BenedekFarkas Jul 14, 2023
3d389df
Fixing IndexExists for tenants with a table prefix
BenedekFarkas Jul 14, 2023
37ab0cd
Updating IndexExists logic to only check indexes that belong to the c…
BenedekFarkas Jul 18, 2023
01b3f24
Resolving Migration step conflict for Orchard.Projections too, fixing…
BenedekFarkas Jul 18, 2023
b1d1663
Merge branch 'dev' into issue/8684
BenedekFarkas Feb 2, 2024
f167c5f
Simplifying the merged migrations in Common and Projections that had …
BenedekFarkas Feb 15, 2024
81b9a60
Projections: Consolidating Migration Update steps into Create
BenedekFarkas Mar 6, 2024
fcf960f
Reworking the merge conflict resolution between 1.10.x and dev for th…
BenedekFarkas Mar 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions .github/workflows/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,29 @@ name: Compile

on:
workflow_dispatch:
pull_request:
push:
branches:
- dev
- 1.10.x

jobs:
compile:
name: Compile
defaults:
run:
shell: cmd
shell: pwsh
runs-on: windows-latest

steps:
- name: Test
run: echo Test
- name: Clone repository
uses: actions/[email protected]

- name: Restore NuGet packages
run: nuget restore src/Orchard.sln

- name: Add msbuild to PATH
uses: microsoft/[email protected]

- name: Compile
run: msbuild Orchard.proj /m /t:Compile /p:MvcBuildViews=true /p:TreatWarningsAsErrors=true -WarnAsError
2 changes: 1 addition & 1 deletion Orchard.proj
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@
<NUnit Assemblies="@(TestAssemblies)" ToolPath="@(NUnitPackageToolsFolder)" WorkingDirectory="$(CompileFolder)" OutputXmlFile="$(BuildFolder)\Orchard.Tests.xml" ExcludeCategory="longrunning" />
</Target>

<Target Name="Spec" DependsOnTargets="Package-Stage">
<Target Name="Spec" DependsOnTargets="Compile">
<!-- Running SpecFlow tests -->
<CreateItem Include="$(CompileFolder)\*.Specs.*dll">
<Output TaskParameter="Include" ItemName="SpecAssemblies" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,6 @@
<Compile Include="Visitors\WhereArgumentsVisitor.cs" />
</ItemGroup>
<ItemGroup>
<None Include="..\NH.Linq.snk">
<Link>NH.Linq.snk</Link>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ public void PublishingShouldFailIfOwnerIsUnknown() {
contentManager.UpdateEditor(item.ContentItem, updateModel.Object);
}

class UpdatModelStub : IUpdateModel {
class UpdateModelStub : IUpdateModel {

ModelStateDictionary _modelState = new ModelStateDictionary();

Expand Down Expand Up @@ -215,11 +215,11 @@ public void PublishingShouldNotThrowExceptionIfOwnerIsNull() {

var user = contentManager.New<IUser>("User");
_authn.Setup(x => x.GetAuthenticatedUser()).Returns(user);
_authz.Setup(x => x.TryCheckAccess(StandardPermissions.SiteOwner, user, item)).Returns(true);
_authz.Setup(x => x.TryCheckAccess(OwnerEditorPermissions.MayEditContentOwner, user, item)).Returns(true);

item.Owner = user;

var updater = new UpdatModelStub() { Owner = null };
var updater = new UpdateModelStub() { Owner = null };

contentManager.UpdateEditor(item.ContentItem, updater);
}
Expand All @@ -232,11 +232,11 @@ public void PublishingShouldFailIfOwnerIsEmpty() {

var user = contentManager.New<IUser>("User");
_authn.Setup(x => x.GetAuthenticatedUser()).Returns(user);
_authz.Setup(x => x.TryCheckAccess(StandardPermissions.SiteOwner, user, item)).Returns(true);
_authz.Setup(x => x.TryCheckAccess(OwnerEditorPermissions.MayEditContentOwner, user, item)).Returns(true);

item.Owner = user;

var updater = new UpdatModelStub() { Owner = "" };
var updater = new UpdateModelStub() { Owner = "" };

_container.Resolve<DefaultShapeTableManagerTests.TestShapeProvider>().Discover =
b => b.Describe("Parts_Common_Owner_Edit").From(TestFeature())
Expand All @@ -255,11 +255,11 @@ public void PublishingShouldNotFailIfOwnerIsEmptyAndShapeIsHidden() {

var user = contentManager.New<IUser>("User");
_authn.Setup(x => x.GetAuthenticatedUser()).Returns(user);
_authz.Setup(x => x.TryCheckAccess(StandardPermissions.SiteOwner, user, item)).Returns(true);
_authz.Setup(x => x.TryCheckAccess(OwnerEditorPermissions.MayEditContentOwner, user, item)).Returns(true);

item.Owner = user;

var updater = new UpdatModelStub() { Owner = "" };
var updater = new UpdateModelStub() { Owner = "" };

_container.Resolve<DefaultShapeTableManagerTests.TestShapeProvider>().Discover =
b => b.Describe("Parts_Common_Owner_Edit").From(TestFeature())
Expand Down Expand Up @@ -384,7 +384,7 @@ public void EditingShouldSetModifiedUtc() {
_clock.Advance(TimeSpan.FromMinutes(1));
var editUtc = _clock.UtcNow;

var updater = new UpdatModelStub() { Owner = "" };
var updater = new UpdateModelStub() { Owner = "" };
contentManager.UpdateEditor(item.ContentItem, updater);

Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
Expand Down
4 changes: 1 addition & 3 deletions src/Orchard.Profile/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
<configSections>
<section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
</configSections>


<specFlow>
<specFlow>
<!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
</specFlow>
</configuration>
19 changes: 8 additions & 11 deletions src/Orchard.Specs/Bindings/Settings.cs
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
using System;
using NUnit.Framework;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Aspects;
using Orchard.Core.Contents;
using Orchard.Data;
using Orchard.Security;
using Orchard.Security.Permissions;
using System.Linq;
using Orchard.Localization.Services;
using Orchard.Specs.Hosting.Orchard.Web;
using TechTalk.SpecFlow;
using Orchard.Localization.Services;
using System.Linq;

namespace Orchard.Specs.Bindings {
[Binding]
Expand All @@ -20,7 +12,7 @@ public void DefineDefaultCulture(string cultureName) {

var webApp = Binding<WebAppHosting>();
webApp.Host.Execute(() => {
using ( var environment = MvcApplication.CreateStandaloneEnvironment("Default") ) {
using (var environment = MvcApplication.CreateStandaloneEnvironment("Default")) {
var orchardServices = environment.Resolve<IOrchardServices>();
var cultureManager = environment.Resolve<ICultureManager>();

Expand All @@ -30,6 +22,11 @@ public void DefineDefaultCulture(string cultureName) {
}

orchardServices.WorkContext.CurrentSite.SiteCulture = cultureName;

// Restarting the shell to reset the cache, because the cache entry storing the list of available
// cultures isn't invalidated by the signal in DefaultCultureManager.ListCultures when running
// inside the test webhost.
MvcApplication.RestartTenant("Default");
}
});
}
Expand Down
6 changes: 6 additions & 0 deletions src/Orchard.Specs/Bindings/WebAppHosting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading;
using System.Web;
using Castle.Core.Logging;
using HtmlAgilityPack;
Expand Down Expand Up @@ -368,6 +369,11 @@ public void WhenIAmRedirected() {
}
}

[When(@"I wait ""(.*)""")]
public void WhenIWait(int waitMilliseconds) {
Thread.Sleep(waitMilliseconds);
}

[Then(@"the status should be (.*) ""(.*)""")]
public void ThenTheStatusShouldBe(int statusCode, string statusDescription) {
Assert.That(Details.StatusCode, Is.EqualTo(statusCode));
Expand Down
16 changes: 14 additions & 2 deletions src/Orchard.Specs/Blogs.feature
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 1 |
Expand All @@ -179,6 +180,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 2 |
Expand All @@ -187,6 +189,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 3 |
Expand All @@ -195,6 +198,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 4 |
Expand All @@ -203,6 +207,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 5 |
Expand All @@ -211,6 +216,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 6 |
Expand All @@ -219,6 +225,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 7 |
Expand All @@ -227,6 +234,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 8 |
Expand All @@ -235,6 +243,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 9 |
Expand All @@ -243,6 +252,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 10 |
Expand All @@ -251,6 +261,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 11 |
Expand All @@ -259,6 +270,7 @@ Scenario: I can create browse blog posts on several pages
And I go to "admin/blogs"
And I follow "My Blog"
And I follow "New Post" where class name has "primaryAction"
And I wait "1000"
And I fill in
| name | value |
| Title.Title | My Post 12 |
Expand All @@ -269,12 +281,12 @@ Scenario: I can create browse blog posts on several pages
Then I should see "<h1[^>]*>.*?My Blog.*?</h1>"
And I should see "<h1[^>]*>.*?My Post 12.*?</h1>"
And I should see "<h1[^>]*>.*?My Post 11.*?</h1>"
And I should not see "<h1[^>]*>.*?My Post 10.*?</h1>"
And I should not see "My Post 2"
When I go to "my-blog?page=2"
Then I should see "<h1[^>]*>.*?My Blog.*?</h1>"
And I should see "<h1[^>]*>.*?My Post 1.*?</h1>"
And I should see "<h1[^>]*>.*?My Post 2.*?</h1>"
And I should not see "<h1[^>]*>.*?My Post 3.*?</h1>"
And I should not see "My Post 3"

Scenario: I can create a new blog with a percent sign in the title and it gets stripped out of the slug
Given I have installed Orchard
Expand Down
Loading
Loading