Made JS permalink regexp more generic for non–latin languages.
Fixed specs for permalinks generated by stringex.
This commit is contained in:
parent
ad9bd5f5f3
commit
2798e15481
@ -62,6 +62,7 @@ PATH
|
||||
responders (~> 0.6.4)
|
||||
rmagick (~> 2.12.2)
|
||||
sanitize (~> 2.0.3)
|
||||
stringex (~> 1.3.2)
|
||||
|
||||
GEM
|
||||
remote: http://rubygems.org/
|
||||
@ -297,6 +298,7 @@ GEM
|
||||
hike (~> 1.2)
|
||||
rack (~> 1.0)
|
||||
tilt (~> 1.1, != 1.3.0)
|
||||
stringex (1.3.2)
|
||||
term-ansicolor (1.0.7)
|
||||
thor (0.14.6)
|
||||
tilt (1.3.3)
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
String.prototype.slugify = function(sep) {
|
||||
if (typeof sep == 'undefined') sep = '_';
|
||||
var alphaNumRegexp = new RegExp('[^a-zA-Z0-9а-яА-Я\\' + sep + ']', 'g');
|
||||
var alphaNumRegexp = new RegExp('[^\w\\' + sep + ']', 'g');
|
||||
var avoidDuplicateRegexp = new RegExp('[\\' + sep + ']{2,}', 'g');
|
||||
return this.replace(/\s/g, sep).replace(alphaNumRegexp, '').replace(avoidDuplicateRegexp, sep).toLowerCase()
|
||||
}
|
||||
|
@ -146,7 +146,12 @@ describe Locomotive::ContentEntry do
|
||||
|
||||
it 'removes dots' do
|
||||
@content_entry.title = "my.test"; @content_entry.send(:set_slug)
|
||||
@content_entry._permalink.should == 'my-test'
|
||||
@content_entry._permalink.should == 'my-dot-test'
|
||||
end
|
||||
|
||||
it 'accepts non-latin chars' do
|
||||
@content_entry.title = "абракадабра"; @content_entry.send(:set_slug)
|
||||
@content_entry._permalink.should == 'abrakadabra'
|
||||
end
|
||||
|
||||
it 'also accepts a file field as the highlighted field' do
|
||||
|
@ -102,11 +102,11 @@ describe Locomotive::Page do
|
||||
it 'should have normalized slug' do
|
||||
page = FactoryGirl.build(:page, :slug => ' Valid ité.html ')
|
||||
page.valid?
|
||||
page.slug.should == 'valid-ite-html'
|
||||
page.slug.should == 'valid-ite-dot-html'
|
||||
|
||||
page = FactoryGirl.build(:page, :title => ' Valid ité.html ', :slug => nil, :site => page.site)
|
||||
page.should be_valid
|
||||
page.slug.should == 'valid-ite-html'
|
||||
page.slug.should == 'valid-ite-dot-html'
|
||||
end
|
||||
|
||||
it 'has no cache strategy' do
|
||||
@ -235,7 +235,7 @@ describe Locomotive::Page do
|
||||
|
||||
it 'fills in the slug field' do
|
||||
@page.valid?
|
||||
@page.slug.should == 'content_type_template'
|
||||
@page.slug.should == 'content-type-template'
|
||||
end
|
||||
|
||||
it 'returns the target klass' do
|
||||
|
@ -20,13 +20,13 @@ describe Locomotive::Snippet do
|
||||
|
||||
before :each do
|
||||
@site = FactoryGirl.create(:site, :subdomain => 'omg')
|
||||
@snippet = FactoryGirl.create(:snippet, :site => @site, :slug => 'my_test_snippet', :template => 'a testing template')
|
||||
@snippet = FactoryGirl.create(:snippet, :site => @site, :slug => 'my-test-snippet', :template => 'a testing template')
|
||||
end
|
||||
|
||||
context 'with a normal top level snippet' do
|
||||
|
||||
before :each do
|
||||
@page = FactoryGirl.create(:page, :site => @site, :slug => 'my_page_here', :raw_template => "{% include 'my_test_snippet' %}")
|
||||
@page = FactoryGirl.create(:page, :site => @site, :slug => 'my_page_here', :raw_template => "{% include 'my-test-snippet' %}")
|
||||
end
|
||||
|
||||
it 'updates templates with the new snippet template' do
|
||||
@ -39,7 +39,7 @@ describe Locomotive::Snippet do
|
||||
context 'for snippets inside of a block' do
|
||||
|
||||
before :each do
|
||||
@page = FactoryGirl.create(:page, :site => @site, :slug => 'my_page_here', :raw_template => "{% block main %}{% include 'my_test_snippet' %}{% endblock %}")
|
||||
@page = FactoryGirl.create(:page, :site => @site, :slug => 'my_page_here', :raw_template => "{% block main %}{% include 'my-test-snippet' %}{% endblock %}")
|
||||
end
|
||||
|
||||
it 'updates templates with the new snippet template' do
|
||||
@ -54,7 +54,7 @@ describe Locomotive::Snippet do
|
||||
before :each do
|
||||
Mongoid::Fields::I18n.with_locale(:fr) do
|
||||
@snippet = FactoryGirl.create(:snippet, :site => @site, :slug => 'my_localized_test_snippet', :template => 'a testing template')
|
||||
@page = FactoryGirl.create(:page, :site => @site, :slug => 'my_localized_test_snippet', :raw_template => "{% block main %}{% include 'my_localized_test_snippet' %}{% endblock %}")
|
||||
@page = FactoryGirl.create(:page, :site => @site, :slug => 'my_localized_test_snippet', :raw_template => "{% block main %}{% include 'my-localized-test-snippet' %}{% endblock %}")
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user