epub-parser 0.1.3 → 0.1.4

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.
@@ -0,0 +1,16 @@
1
+ require_relative 'helper'
2
+ require 'epub/parser'
3
+
4
+ class TestParserFixedLayout < Test::Unit::TestCase
5
+ def test_using_fixed_layout_is_true_when_rendition_property_in_package_prefix
6
+ parser = EPUB::Parser::Publication.new(<<OPF, 'dummy/rootfile.opf')
7
+ <package version="3.0"
8
+ unique-identifier="pub-id"
9
+ xmlns="http://www.idpf.org/2007/opf"
10
+ prefix="rendition: http://www.idpf.org/vocab/rendition/#">
11
+ </package>
12
+ OPF
13
+ package = parser.parse_package
14
+ assert_true package.using_fixed_layout
15
+ end
16
+ end
@@ -2,6 +2,8 @@ require_relative 'helper'
2
2
  require 'epub/publication'
3
3
 
4
4
  class TestPublication < Test::Unit::TestCase
5
+ include EPUB::Publication
6
+
5
7
  def test_package_clear_package_attribute_of_submodules_when_attribute_writer_called
6
8
  metadata = EPUB::Publication::Package::Metadata.new
7
9
  another_metadata = EPUB::Publication::Package::Metadata.new
@@ -16,21 +18,55 @@ class TestPublication < Test::Unit::TestCase
16
18
 
17
19
  class TestMetadata < TestPublication
18
20
  def test_meta_refines_setter_connect_refinee_to_the_meta
19
- refiner = EPUB::Publication::Package::Metadata::Meta.new
20
- refinee = EPUB::Publication::Package::Metadata::Meta.new
21
+ refiner = Package::Metadata::Meta.new
22
+ refinee = Package::Metadata::Meta.new
21
23
  refiner.refines = refinee
22
24
  assert_same refinee.refiners.first, refiner
23
25
  end
24
26
 
25
27
  def test_link_refines_setter_connect_refinee_to_the_link
26
- refiner = EPUB::Publication::Package::Metadata::Link.new
27
- refinee = EPUB::Publication::Package::Metadata::Meta.new
28
+ refiner = Package::Metadata::Link.new
29
+ refinee = Package::Metadata::Meta.new
28
30
  refiner.refines = refinee
29
31
  assert_same refinee.refiners.first, refiner
30
32
  end
33
+
34
+ def test_title_returns_extended_title_when_it_exists
35
+ extended_title = Package::Metadata::Title.new
36
+ extended_title.id = 'extended-title'
37
+ extended_title.content = 'Extended Title'
38
+ extended_refiner = Package::Metadata::Meta.new
39
+ extended_refiner.property = 'title-type'
40
+ extended_refiner.content = 'extended'
41
+ extended_refiner.refines = extended_title
42
+ extended_order = Package::Metadata::Meta.new
43
+ extended_order.property = 'display-seq'
44
+ extended_order.content = 2
45
+ extended_order.refines = extended_title
46
+
47
+ main_title = Package::Metadata::Title.new
48
+ main_title.id = 'main-title'
49
+ main_title.content = 'Main Title'
50
+ main_refiner = Package::Metadata::Meta.new
51
+ main_refiner.property = 'title-type'
52
+ main_refiner.content = 'main'
53
+ main_refiner.refines = main_title
54
+ main_order = Package::Metadata::Meta.new
55
+ main_order.property = 'display-seq'
56
+ main_order.content = 1
57
+ main_order.refines = main_title
58
+
59
+ package = Package::Metadata.new
60
+ package.titles << main_title
61
+ package.titles << extended_title
62
+
63
+ assert_equal 'Extended Title', package.title
64
+ end
31
65
  end
32
66
 
33
67
  class TestManifest < TestPublication
68
+ include EPUB::Publication
69
+
34
70
  class TestItem < TestManifest
35
71
  def test_content_document_returns_nil_when_not_xhtml_nor_svg
36
72
  item = EPUB::Publication::Package::Manifest::Item.new
@@ -47,6 +83,61 @@ class TestPublication < Test::Unit::TestCase
47
83
 
48
84
  assert_instance_of EPUB::ContentDocument::Navigation, item.content_document
49
85
  end
86
+
87
+ def test_can_refer_itemref_which_refers_self
88
+ itemref = stub!
89
+ stub(itemref).idref {'item'}
90
+ item = Package::Manifest::Item.new
91
+ item.id = 'item'
92
+ stub(item).manifest.stub!.package.stub!.spine.stub!.itemrefs {[itemref]}
93
+
94
+ assert_same itemref, item.itemref
95
+ end
96
+ end
97
+ end
98
+
99
+ class TestSpine < TestPublication
100
+ class TestItemref < TestSpine
101
+ def setup
102
+ super
103
+ @itemref = Package::Spine::Itemref.new
104
+ end
105
+
106
+ def test_default_page_spread_is_nil
107
+ assert_nil @itemref.page_spread
108
+ end
109
+
110
+ def test_can_set_page_spread
111
+ @itemref.page_spread = 'left'
112
+
113
+ assert_equal 'left', @itemref.page_spread
114
+ assert_include @itemref.properties, 'page-spread-left'
115
+ end
116
+
117
+ def test_page_spread_is_exclusive
118
+ @itemref.page_spread = 'left'
119
+ @itemref.page_spread = 'right'
120
+
121
+ assert_not_include @itemref.properties, 'page-spread-left'
122
+ end
123
+
124
+ def test_can_set_item
125
+ package = Package.new
126
+ item = Package::Manifest::Item.new
127
+ item.id = 'item'
128
+ manifest = Package::Manifest.new
129
+ spine = Package::Spine.new
130
+ manifest << item
131
+ spine << @itemref
132
+ package.manifest = manifest
133
+ package.spine = spine
134
+
135
+ @itemref.item = item
136
+
137
+ assert_equal 'item', @itemref.idref
138
+ assert_include spine.items, item
139
+ assert_same item, @itemref.item
140
+ end
50
141
  end
51
142
  end
52
143
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epub-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - KITAITI Makoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-20 00:00:00.000000000 Z
11
+ date: 2013-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rubygems-test
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rake
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -240,14 +226,14 @@ dependencies:
240
226
  requirements:
241
227
  - - '='
242
228
  - !ruby/object:Gem::Version
243
- version: 1.5.8
229
+ version: 1.5.9
244
230
  type: :runtime
245
231
  prerelease: false
246
232
  version_requirements: !ruby/object:Gem::Requirement
247
233
  requirements:
248
234
  - - '='
249
235
  - !ruby/object:Gem::Version
250
- version: 1.5.8
236
+ version: 1.5.9
251
237
  - !ruby/object:Gem::Dependency
252
238
  name: addressable
253
239
  requirement: !ruby/object:Gem::Requirement
@@ -276,12 +262,16 @@ files:
276
262
  - .gitmodules
277
263
  - .travis.yml
278
264
  - .yardopts
265
+ - CHANGELOG.markdown
279
266
  - Gemfile
280
267
  - MIT-LICENSE
281
268
  - README.markdown
282
269
  - Rakefile
283
270
  - bin/epub-open
284
271
  - bin/epubinfo
272
+ - docs/FixedLayout.markdown
273
+ - docs/Home.markdown
274
+ - docs/Item.markdown
285
275
  - epub-parser.gemspec
286
276
  - features/epubinfo.feature
287
277
  - features/step_definitions/epubinfo_steps.rb
@@ -306,6 +296,7 @@ files:
306
296
  - lib/epub/parser/utils.rb
307
297
  - lib/epub/parser/version.rb
308
298
  - lib/epub/publication.rb
299
+ - lib/epub/publication/fixed_layout.rb
309
300
  - lib/epub/publication/package.rb
310
301
  - lib/epub/publication/package/bindings.rb
311
302
  - lib/epub/publication/package/guide.rb
@@ -319,23 +310,23 @@ files:
319
310
  - schemas/ocf-container-30.rnc
320
311
  - test/fixtures/book/META-INF/container.xml
321
312
  - test/fixtures/book/OPS/%E6%97%A5%E6%9C%AC%E8%AA%9E.xhtml
322
- - test/fixtures/book/OPS/CASE-SENSITIVE.xhtml
323
313
  - test/fixtures/book/OPS/case-sensitive.xhtml
324
314
  - test/fixtures/book/OPS/containing space.xhtml
325
315
  - test/fixtures/book/OPS/containing%20space.xhtml
326
316
  - test/fixtures/book/OPS/nav.xhtml
327
317
  - test/fixtures/book/mimetype
328
318
  - test/helper.rb
319
+ - test/test_content_document.rb
329
320
  - test/test_epub.rb
321
+ - test/test_fixed_layout.rb
330
322
  - test/test_parser.rb
331
323
  - test/test_parser_content_document.rb
324
+ - test/test_parser_fixed_layout.rb
332
325
  - test/test_parser_ocf.rb
333
326
  - test/test_parser_publication.rb
334
327
  - test/test_publication.rb
335
328
  - test/fixtures/book/OPS/ルートファイル.opf
336
329
  - test/fixtures/book/OPS/日本語.xhtml
337
- - wiki/Home.md
338
- - wiki/Item.md
339
330
  homepage: https://github.com/KitaitiMakoto/epub-parser
340
331
  licenses:
341
332
  - MIT
@@ -365,9 +356,12 @@ test_files:
365
356
  - features/step_definitions/epubinfo_steps.rb
366
357
  - features/support/env.rb
367
358
  - test/helper.rb
359
+ - test/test_content_document.rb
368
360
  - test/test_epub.rb
361
+ - test/test_fixed_layout.rb
369
362
  - test/test_parser.rb
370
363
  - test/test_parser_content_document.rb
364
+ - test/test_parser_fixed_layout.rb
371
365
  - test/test_parser_ocf.rb
372
366
  - test/test_parser_publication.rb
373
367
  - test/test_publication.rb
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html>
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
4
- <head>
5
- <title>LARGE FILE NAME</title>
6
- </head>
7
- <body>
8
- </body>
9
- </html>