Skip to content

Commit 7fb5e93

Browse files
committed
Merge pull request #41 from mataki/support_multibyte_description
Support multibyte description
2 parents ae36304 + c21408f commit 7fb5e93

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

lib/rspec_api_documentation/html_writer.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def dirname
7373

7474
def filename
7575
basename = description.downcase.gsub(/\s+/, '_').gsub(/[^a-z_]/, '')
76+
basename = Digest::MD5.new.update(description).to_s if basename.blank?
7677
"#{basename}.html"
7778
end
7879

spec/html_writer_spec.rb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# -*- coding: utf-8 -*-
12
require 'spec_helper'
23

34
describe RspecApiDocumentation::HtmlWriter do
@@ -31,3 +32,25 @@
3132
end
3233
end
3334
end
35+
36+
describe RspecApiDocumentation::HtmlExample do
37+
let(:metadata) { {} }
38+
let(:group) { RSpec::Core::ExampleGroup.describe("Orders", metadata) }
39+
let(:example) { group.example("Ordering a cup of coffee") {} }
40+
let(:configuration) { RspecApiDocumentation::Configuration.new }
41+
let(:html_example) { described_class.new(example, configuration) }
42+
43+
it "should have downcased filename" do
44+
html_example.filename.should == "ordering_a_cup_of_coffee.html"
45+
end
46+
47+
describe "multi charctor example name" do
48+
let(:label) { "コーヒーが順番で並んでいること" }
49+
let(:example) { group.example(label) {} }
50+
51+
it "should have downcased filename" do
52+
filename = Digest::MD5.new.update(label).to_s
53+
html_example.filename.should == filename + ".html"
54+
end
55+
end
56+
end

0 commit comments

Comments
 (0)