File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -48,7 +48,10 @@ def name
4848 end
4949
5050 def slug
51- slug = @slug || name . try ( :downcase )
51+ slug = @slug || (
52+ raise "Slug must be set explicitly when name (#{ name } ) consists of anything else than [\\ w\\ .%]" if /[^\w \. %]/ =~ name
53+ name . try ( :downcase )
54+ )
5255 version? ? "#{ slug } ~#{ version_slug } " : slug
5356 end
5457
Original file line number Diff line number Diff line change @@ -55,6 +55,18 @@ class DocsDocTest < MiniTest::Spec
5555 doc . version = '42'
5656 assert_equal 'foo~42' , doc . slug
5757 end
58+
59+ it "returns 'foobar' when #name has been set to 'FooBar'" do
60+ doc . name = 'FooBar'
61+ assert_equal 'foobar' , doc . slug
62+ end
63+
64+ it "raises error when #name has unsluggable characters" do
65+ assert_raises do
66+ doc . name = 'Foo-Bar'
67+ doc . slug
68+ end
69+ end
5870 end
5971
6072 describe ".slug=" do
You can’t perform that action at this time.
0 commit comments