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', | |