multi_typograf 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +18 -0
- data/.travis.yml +10 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +22 -0
- data/README.md +49 -0
- data/Rakefile +53 -0
- data/lib/multi_typograf.rb +112 -0
- data/lib/multi_typograf/adapters/art_typograf.rb +13 -0
- data/lib/multi_typograf/adapters/typograf.rb +13 -0
- data/lib/multi_typograf/adapters/typographer.rb +11 -0
- data/lib/multi_typograf/adapters/typographica.rb +11 -0
- data/lib/multi_typograf/adapters/typography.rb +12 -0
- data/lib/multi_typograf/filter.rb +12 -0
- data/lib/multi_typograf/version.rb +3 -0
- data/multi_typograf.gemspec +26 -0
- data/report/html_printer.rb +61 -0
- data/report/report_formatter.rb +66 -0
- data/report/report_shared_example.rb +397 -0
- data/report/report_spec.rb +12 -0
- data/report/template/bak.png +0 -0
- data/report/template/bootstrap.min.css +206 -0
- data/report/template/index.html +172 -0
- data/report/template/jquery.slabtext.min.js +2 -0
- data/report/template/slabtext.css +1 -0
- data/spec/adapter_shared_example.rb +27 -0
- data/spec/helper.rb +19 -0
- data/spec/multi_typograf_spec.rb +78 -0
- metadata +146 -0
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'adapter_shared_example'
|
3
|
+
require 'stringio'
|
4
|
+
|
5
|
+
describe 'MultiTypograf' do
|
6
|
+
context 'adapters' do
|
7
|
+
before do
|
8
|
+
MultiTypograf.use nil
|
9
|
+
end
|
10
|
+
context 'when no other implementations are available' do
|
11
|
+
|
12
|
+
CONSTS = [:ArtTypograf, :TypographerHelper, :Typographica, :Typograf]
|
13
|
+
|
14
|
+
before do
|
15
|
+
@old_map = MultiTypograf::REQUIREMENT_MAP
|
16
|
+
@old_consts = {}
|
17
|
+
CONSTS.each do |c|
|
18
|
+
@old_consts[c] = Object.const_get c if Object.const_defined?(c)
|
19
|
+
end
|
20
|
+
|
21
|
+
MultiTypograf::REQUIREMENT_MAP.each_with_index do |(library, adapter), index|
|
22
|
+
MultiTypograf::REQUIREMENT_MAP[index] = ["foo/#{library}", adapter]
|
23
|
+
end
|
24
|
+
|
25
|
+
CONSTS.each do |c|
|
26
|
+
Object.send :remove_const, c if @old_consts[c]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
after do
|
31
|
+
@old_map.each_with_index do |(library, adapter), index|
|
32
|
+
MultiTypograf::REQUIREMENT_MAP[index] = [library, adapter]
|
33
|
+
end
|
34
|
+
|
35
|
+
CONSTS.each do |c|
|
36
|
+
Object.const_set c, @old_consts[c] if @old_consts[c]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'defaults to vendored implemention if no other implementions are available' do
|
41
|
+
MultiTypograf.default_adapter.should eq :typograf
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'defaults to the best not vendored lib if any other lib available' do
|
46
|
+
require 'art_typograf'
|
47
|
+
MultiTypograf.adapter.name.should eq 'MultiTypograf::Adapters::ArtTypograf'
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'is settable via a symbol' do
|
51
|
+
MultiTypograf.use :art_typograf
|
52
|
+
MultiTypograf.adapter.name.should eq 'MultiTypograf::Adapters::ArtTypograf'
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'is settable via a class' do
|
56
|
+
MultiTypograf.use MockDecoder
|
57
|
+
MultiTypograf.adapter.name.should eq 'MockDecoder'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# typographer typographica
|
62
|
+
%w(art_typograf typograf).each do |adapter|
|
63
|
+
context adapter do
|
64
|
+
it_behaves_like "an adapter", adapter
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
if defined?(MultiTypograf::Filter)
|
70
|
+
describe MultiTypograf::Filter do
|
71
|
+
it "filter works" do
|
72
|
+
pipeline = HTML::Pipeline.new [
|
73
|
+
MultiTypograf::Filter
|
74
|
+
]
|
75
|
+
pipeline.call(" <p>some text</p>").should eq '<p>some text</p>'
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
metadata
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: multi_typograf
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- sterebooster
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-12-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: typograf
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: simplecov
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
description: A generic swappable back-end for typographing text.
|
79
|
+
email:
|
80
|
+
- stereobooster@gmail.com
|
81
|
+
executables: []
|
82
|
+
extensions: []
|
83
|
+
extra_rdoc_files: []
|
84
|
+
files:
|
85
|
+
- .gitignore
|
86
|
+
- .travis.yml
|
87
|
+
- Gemfile
|
88
|
+
- LICENSE.txt
|
89
|
+
- README.md
|
90
|
+
- Rakefile
|
91
|
+
- lib/multi_typograf.rb
|
92
|
+
- lib/multi_typograf/adapters/art_typograf.rb
|
93
|
+
- lib/multi_typograf/adapters/typograf.rb
|
94
|
+
- lib/multi_typograf/adapters/typographer.rb
|
95
|
+
- lib/multi_typograf/adapters/typographica.rb
|
96
|
+
- lib/multi_typograf/adapters/typography.rb
|
97
|
+
- lib/multi_typograf/filter.rb
|
98
|
+
- lib/multi_typograf/version.rb
|
99
|
+
- multi_typograf.gemspec
|
100
|
+
- report/html_printer.rb
|
101
|
+
- report/report_formatter.rb
|
102
|
+
- report/report_shared_example.rb
|
103
|
+
- report/report_spec.rb
|
104
|
+
- report/template/bak.png
|
105
|
+
- report/template/bootstrap.min.css
|
106
|
+
- report/template/index.html
|
107
|
+
- report/template/jquery.slabtext.min.js
|
108
|
+
- report/template/slabtext.css
|
109
|
+
- spec/adapter_shared_example.rb
|
110
|
+
- spec/helper.rb
|
111
|
+
- spec/multi_typograf_spec.rb
|
112
|
+
homepage: https://github.com/stereobooster/multi_typograf
|
113
|
+
licenses:
|
114
|
+
- MIT
|
115
|
+
post_install_message:
|
116
|
+
rdoc_options: []
|
117
|
+
require_paths:
|
118
|
+
- lib
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
hash: 707521185
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
segments:
|
135
|
+
- 0
|
136
|
+
hash: 707521185
|
137
|
+
requirements: []
|
138
|
+
rubyforge_project:
|
139
|
+
rubygems_version: 1.8.24
|
140
|
+
signing_key:
|
141
|
+
specification_version: 3
|
142
|
+
summary: A generic swappable back-end for typographing text.
|
143
|
+
test_files:
|
144
|
+
- spec/adapter_shared_example.rb
|
145
|
+
- spec/helper.rb
|
146
|
+
- spec/multi_typograf_spec.rb
|