allowing dots to be a part of the page slug

Oleg committed Feb 24, 2012
commit 76ab0af70f3b8bd6343f10903e33460b511ff132
Showing 2 changed files with 10 additions and 1 deletions
app/models/cms/page.rb +1 -1
@@ @@ -36,7 +36,7 @@ class Cms::Page < ActiveRecord::Base
:presence => true
validates :slug,
:presence => true,
- :format => /^\w[a-z0-9_-]*$/i,
+ :format => /^\w[\.a-z0-9_-]*$/i,
:uniqueness => { :scope => :parent_id },
:unless => lambda{ |p| p.site && (p.site.pages.count == 0 || p.site.pages.root == self) }
validates :layout,
test/unit/models/page_test.rb +9 -0
@@ @@ -44,6 +44,15 @@ class CmsPageTest < ActiveSupport::TestCase
assert_has_errors_on page, :target_page_id
end
+ def test_validation_of_slug
+ page = cms_pages(:child)
+ page.slug = 'slug.with.d0ts-and_things'
+ assert page.valid?
+
+ page.slug = 'inva lid'
+ assert page.invalid?
+ end
+
def test_label_assignment
page = cms_sites(:default).pages.new(
:slug => 'test',