image_viewer_rails 0.0.1 → 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.
Files changed (135) hide show
  1. data/README.md +93 -0
  2. data/Rakefile +8 -27
  3. data/app/assets/images/image_viewer_rails/glyphicons-halflings.png +0 -0
  4. data/app/assets/javascripts/image_viewer_rails.js +1 -0
  5. data/app/assets/javascripts/image_viewer_rails/image_viewer.js +249 -103
  6. data/app/assets/stylesheets/image_viewer_rails.css.scss +3 -0
  7. data/app/assets/stylesheets/image_viewer_rails/image_viewer_rails.css.scss +105 -0
  8. data/app/views/layouts/image_viewer_rails/application.html.erb +2 -2
  9. data/lib/image_viewer_rails/engine.rb +7 -0
  10. data/lib/image_viewer_rails/version.rb +1 -1
  11. data/spec/dummy/Guardfile +9 -0
  12. data/{test → spec}/dummy/README.rdoc +0 -0
  13. data/{test → spec}/dummy/Rakefile +0 -0
  14. data/spec/dummy/app/assets/images/test_image_1.jpeg +0 -0
  15. data/spec/dummy/app/assets/images/test_image_2.jpeg +0 -0
  16. data/{test → spec}/dummy/app/assets/javascripts/application.js +1 -0
  17. data/{test → spec}/dummy/app/assets/stylesheets/application.css +1 -0
  18. data/{test → spec}/dummy/app/controllers/application_controller.rb +0 -0
  19. data/{test → spec}/dummy/app/helpers/application_helper.rb +0 -0
  20. data/{test → spec}/dummy/app/views/layouts/application.html.erb +0 -0
  21. data/{test → spec}/dummy/config.ru +0 -0
  22. data/{test → spec}/dummy/config/application.rb +7 -1
  23. data/{test → spec}/dummy/config/boot.rb +0 -0
  24. data/{test → spec}/dummy/config/database.yml +0 -0
  25. data/{test → spec}/dummy/config/environment.rb +0 -0
  26. data/{test → spec}/dummy/config/environments/development.rb +0 -0
  27. data/{test → spec}/dummy/config/environments/production.rb +0 -0
  28. data/{test → spec}/dummy/config/environments/test.rb +0 -0
  29. data/{test → spec}/dummy/config/initializers/backtrace_silencers.rb +0 -0
  30. data/{test → spec}/dummy/config/initializers/inflections.rb +0 -0
  31. data/spec/dummy/config/initializers/jasminerice.rb +6 -0
  32. data/{test → spec}/dummy/config/initializers/mime_types.rb +0 -0
  33. data/{test → spec}/dummy/config/initializers/secret_token.rb +1 -1
  34. data/{test → spec}/dummy/config/initializers/session_store.rb +0 -0
  35. data/{test → spec}/dummy/config/initializers/wrap_parameters.rb +0 -0
  36. data/{test → spec}/dummy/config/locales/en.yml +0 -0
  37. data/spec/dummy/config/routes.rb +8 -0
  38. data/{test/dummy/public/favicon.ico → spec/dummy/db/development.sqlite3} +0 -0
  39. data/spec/dummy/db/schema.rb +16 -0
  40. data/spec/dummy/log/development.log +33479 -0
  41. data/{test → spec}/dummy/public/404.html +0 -0
  42. data/{test → spec}/dummy/public/422.html +0 -0
  43. data/{test → spec}/dummy/public/500.html +0 -0
  44. data/spec/dummy/public/favicon.ico +0 -0
  45. data/spec/dummy/public/index.html +13 -0
  46. data/{test → spec}/dummy/script/rails +0 -0
  47. data/spec/dummy/spec/javascripts/fixtures/image_viewer_index.html +1 -0
  48. data/spec/dummy/spec/javascripts/image_viewer_spec.js.coffee +36 -0
  49. data/spec/dummy/spec/javascripts/legend_spec.js.coffee +22 -0
  50. data/spec/dummy/spec/javascripts/next_previous_spec.js.coffee +17 -0
  51. data/spec/dummy/spec/javascripts/rotate_spec.js.coffee +42 -0
  52. data/spec/dummy/spec/javascripts/spec.css +2 -0
  53. data/spec/dummy/spec/javascripts/spec.js.coffee +3 -0
  54. data/spec/dummy/spec/javascripts/up_down_left_right_spec.js.coffee +13 -0
  55. data/spec/dummy/spec/javascripts/zoom_spec.js.coffee +62 -0
  56. data/spec/dummy/spec/spec_helper.rb +19 -0
  57. data/spec/dummy/tmp/cache/assets/C78/CF0/sprockets%2F4c1182626f663c405915d434b32a1f7f +0 -0
  58. data/spec/dummy/tmp/cache/assets/C99/9B0/sprockets%2Fa9941d79a0b94987a18927cee3317927 +0 -0
  59. data/spec/dummy/tmp/cache/assets/C9E/8D0/sprockets%2Fb710412a42fdae81c87204551e24e662 +0 -0
  60. data/spec/dummy/tmp/cache/assets/CA9/A20/sprockets%2F386e5ac05fa279f14b12f811741054f5 +0 -0
  61. data/spec/dummy/tmp/cache/assets/CBB/840/sprockets%2Fb9f348a06c2785777cf51174eb53472c +0 -0
  62. data/spec/dummy/tmp/cache/assets/CBB/AE0/sprockets%2F8cc11d459894b3e6713b274b3c2d2998 +0 -0
  63. data/spec/dummy/tmp/cache/assets/CBE/0E0/sprockets%2F60437498c8b738df7ca548c194c5c404 +0 -0
  64. data/spec/dummy/tmp/cache/assets/CBE/830/sprockets%2Fbf8810d7b8158fa9723b60c078c55982 +0 -0
  65. data/spec/dummy/tmp/cache/assets/CBE/940/sprockets%2F6e888093d88e1589b28b22e7dc702b21 +0 -0
  66. data/spec/dummy/tmp/cache/assets/CBE/B50/sprockets%2Fb046c2404d402d5c0093325dbfbe4402 +0 -0
  67. data/spec/dummy/tmp/cache/assets/CC1/EB0/sprockets%2F97ab83d357692007e47455bffeb98206 +0 -0
  68. data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  69. data/spec/dummy/tmp/cache/assets/CDF/760/sprockets%2Fdc4c3b419582e803143a95437ddbe915 +0 -0
  70. data/spec/dummy/tmp/cache/assets/CE2/FB0/sprockets%2Fb900e155a974e18df90a08c45572e34f +0 -0
  71. data/spec/dummy/tmp/cache/assets/CE3/360/sprockets%2Ff18993ab65612965f701cc1b2ad7427f +0 -0
  72. data/spec/dummy/tmp/cache/assets/CE7/140/sprockets%2F536789550d2b89671badb5934d1c0ec6 +0 -0
  73. data/spec/dummy/tmp/cache/assets/CE8/370/sprockets%2F9622d96b460a12834e7e8e9102eef8b3 +0 -0
  74. data/spec/dummy/tmp/cache/assets/CF3/3E0/sprockets%2F8c41346932bbe865dd239e88b596e8a1 +0 -0
  75. data/spec/dummy/tmp/cache/assets/CF4/A20/sprockets%2F226db1b5302cfedbaa061778224149b0 +0 -0
  76. data/spec/dummy/tmp/cache/assets/D01/490/sprockets%2F9651d311eadb3fa6b080634f12c6472e +0 -0
  77. data/spec/dummy/tmp/cache/assets/D0A/E20/sprockets%2F59e8093eb189f249d5e29ffd839817e7 +0 -0
  78. data/spec/dummy/tmp/cache/assets/D0B/030/sprockets%2F61735f31c4b299da1a76d1f7e5a0508d +0 -0
  79. data/spec/dummy/tmp/cache/assets/D0E/350/sprockets%2F1e2a56147a5a2dcf2e99b8a19446753a +0 -0
  80. data/spec/dummy/tmp/cache/assets/D11/250/sprockets%2F8d74f33fbc5db89e5a62873030c42d24 +0 -0
  81. data/spec/dummy/tmp/cache/assets/D13/950/sprockets%2Feb9383751d2a2d2c985333a6815dae6f +0 -0
  82. data/spec/dummy/tmp/cache/assets/D18/390/sprockets%2F56ba9fd12901f581bed04627d782eb88 +0 -0
  83. data/spec/dummy/tmp/cache/assets/D18/750/sprockets%2F28d97038567f4df00d24e4e1d1cb57e9 +0 -0
  84. data/spec/dummy/tmp/cache/assets/D1C/5D0/sprockets%2F5c8c17d7d0163269758aceec573729bc +0 -0
  85. data/spec/dummy/tmp/cache/assets/D26/1F0/sprockets%2F5323df7e62538575d8c46bec5f37cf49 +0 -0
  86. data/spec/dummy/tmp/cache/assets/D29/F20/sprockets%2F30bec94a7aeb240d3b4643ed218018d2 +0 -0
  87. data/spec/dummy/tmp/cache/assets/D30/190/sprockets%2F70d408edd9d42b23fc091c122730d5dd +0 -0
  88. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  89. data/spec/dummy/tmp/cache/assets/D32/C00/sprockets%2Fd2c8b816371688e71ba1f0b6aff2a013 +0 -0
  90. data/spec/dummy/tmp/cache/assets/D35/660/sprockets%2F73a76ae2db798148aac4b73d032b0e45 +0 -0
  91. data/spec/dummy/tmp/cache/assets/D37/080/sprockets%2F40c20f1ac6e943173bc6d509c46fe1d7 +0 -0
  92. data/spec/dummy/tmp/cache/assets/D3F/210/sprockets%2F7871bdd9c5cc315a093fa55b7066ea18 +0 -0
  93. data/spec/dummy/tmp/cache/assets/D42/3E0/sprockets%2F6f2a5b95993527fb576a3190bb32bdfb +0 -0
  94. data/spec/dummy/tmp/cache/assets/D42/850/sprockets%2F0be7513b1b8d29b2ce99e26f4923bf80 +0 -0
  95. data/spec/dummy/tmp/cache/assets/D49/5A0/sprockets%2Fe8b9a200e5765af8863595d60dc8dda1 +0 -0
  96. data/spec/dummy/tmp/cache/assets/D4A/0A0/sprockets%2F54bb86eb7a7328694996b3a30ffdaf14 +0 -0
  97. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  98. data/spec/dummy/tmp/cache/assets/D4F/900/sprockets%2F1c9166be1891cf7e48e359c916aeb82c +0 -0
  99. data/spec/dummy/tmp/cache/assets/D52/E40/sprockets%2F6d6d87253de33becf54259e872ded815 +0 -0
  100. data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  101. data/spec/dummy/tmp/cache/assets/D64/9D0/sprockets%2F2057bd6bd0256a7b4b9d47ef0802a5bf +0 -0
  102. data/spec/dummy/tmp/cache/assets/D68/690/sprockets%2F8233fd2400e1cffe7d380d8e058cd22c +0 -0
  103. data/spec/dummy/tmp/cache/assets/D77/000/sprockets%2F1dc3883d4259597efbc7b91b1e3fe40c +0 -0
  104. data/spec/dummy/tmp/cache/assets/D7B/630/sprockets%2F8b1d98cdb28a579c80c8e40f0173c9ee +0 -0
  105. data/spec/dummy/tmp/cache/assets/D88/EA0/sprockets%2Fcfbfcaedd29f95ec066119359787819c +0 -0
  106. data/spec/dummy/tmp/cache/assets/D90/E10/sprockets%2F3eef7d0e134d1a4bdb68173d2710ebf3 +0 -0
  107. data/spec/dummy/tmp/cache/assets/D93/5F0/sprockets%2F5a9c4a80c5a143e82cb33e0bd2ce786c +0 -0
  108. data/spec/dummy/tmp/cache/assets/D9D/380/sprockets%2Fee6a4506692c5553fca9de6de10d02fc +0 -0
  109. data/spec/dummy/tmp/cache/assets/D9D/9D0/sprockets%2F1197fc7e8fd84cbca020c0a7c327c8d8 +0 -0
  110. data/spec/dummy/tmp/cache/assets/DAB/900/sprockets%2F77dac92ac79c687222242eef8f1b2ffe +0 -0
  111. data/spec/dummy/tmp/cache/assets/DAB/EA0/sprockets%2Fa66df58b48e9a4dc3a543b476ee24c8e +0 -0
  112. data/spec/dummy/tmp/cache/assets/DBE/FB0/sprockets%2Fdb8b7d7c1e05cb3af030eb26c971e2c3 +0 -0
  113. data/spec/dummy/tmp/cache/assets/DC8/A10/sprockets%2F44c5bf090e7eb3abc3da5177e7502fee +0 -0
  114. data/spec/dummy/tmp/cache/assets/DCA/6E0/sprockets%2F39615bd6ae519bf36ba6af7a0aa76c7c +0 -0
  115. data/spec/dummy/tmp/cache/assets/DCD/050/sprockets%2Fc025d36b6fa943b07cd5243f8cecf7eb +0 -0
  116. data/spec/dummy/tmp/cache/assets/DD1/F20/sprockets%2Fffd9cc2905ac7a5c93b5233e1cfa884c +0 -0
  117. data/spec/dummy/tmp/cache/assets/DDA/C70/sprockets%2F45f4a613cfc7cff9190871fbcea3f3f8 +0 -0
  118. data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  119. data/spec/dummy/tmp/cache/assets/DE7/770/sprockets%2F056c18c8e967dd4b9e9cf85eadac64f5 +0 -0
  120. data/spec/dummy/tmp/cache/assets/DF9/B60/sprockets%2Fd6008a45e143bce9f6ec12bf5d3e5bfd +0 -0
  121. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  122. data/spec/dummy/tmp/cache/assets/E04/EC0/sprockets%2Fe80fdba41b8de268cbeb5a3c788ef255 +0 -0
  123. data/spec/dummy/tmp/cache/assets/E12/900/sprockets%2Fcda5325200faa03dfc104fd3fe67ceba +0 -0
  124. data/spec/dummy/tmp/cache/assets/E2E/0C0/sprockets%2Fceb407f9b6ac92dddc932e73cacf9a04 +0 -0
  125. data/spec/dummy/tmp/cache/assets/E2F/AA0/sprockets%2F863db5f4a3eba66229ef23cbeeed9cb2 +0 -0
  126. data/spec/dummy/tmp/cache/assets/E34/8A0/sprockets%2Fdcd8b4c62858ccacc994381b6cadb7cd +0 -0
  127. data/spec/dummy/tmp/cache/assets/E52/B30/sprockets%2F73ba6bee6c4e4e37ea2ccceb9c230cf0 +0 -0
  128. data/spec/dummy/tmp/pids/server.pid +1 -0
  129. metadata +371 -66
  130. data/README.rdoc +0 -5
  131. data/app/assets/javascripts/image_viewer_rails/application.js +0 -16
  132. data/test/dummy/config/routes.rb +0 -4
  133. data/test/image_viewer_rails_test.rb +0 -7
  134. data/test/integration/navigation_test.rb +0 -10
  135. data/test/test_helper.rb +0 -15
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,13 @@
1
+ <head>
2
+ <link href="/assets/application.css" rel="stylesheet" type="text/css">
3
+ <script src="/assets/application.js" type="text/javascript"></script>
4
+ <script type="text/javascript">
5
+ $(document).ready(function(){
6
+ $('#ImageViewer').imageViewer(["/assets/test_image_1.jpeg", "/assets/test_image_2.jpeg"]);
7
+ });
8
+ </script>
9
+ </head>
10
+
11
+ <body>
12
+ <div id="ImageViewer"></div>
13
+ </body>
File without changes
@@ -0,0 +1 @@
1
+ <div id="ImageViewer"></div>
@@ -0,0 +1,36 @@
1
+ describe "ImageViewer", ->
2
+ viewer = $('#ImageViewer').imageViewer
3
+
4
+ beforeEach ->
5
+ loadFixtures 'image_viewer_index'
6
+ $('#ImageViewer').imageViewer(["/assets/test_image_1.jpeg"])
7
+
8
+ it "implements zoom", ->
9
+ expect(typeof(viewer.rotate) == "function").toBe(true)
10
+
11
+ it "implements rotate", ->
12
+ expect(typeof(viewer.rotate) == "function").toBe(true)
13
+
14
+ it "implements rotate_all", ->
15
+ expect(typeof(viewer.rotate_all) == "function").toBe(true)
16
+
17
+ it "implements scrollPage", ->
18
+ expect(typeof(viewer.scrollPage) == "function").toBe(true)
19
+
20
+ it "implements scroll", ->
21
+ expect(typeof(viewer.scroll) == "function").toBe(true)
22
+
23
+ it "implements print", ->
24
+ expect(typeof(viewer.print) == "function").toBe(true)
25
+
26
+ it "implements displayLegend()", ->
27
+ expect(typeof(viewer.displayLegend) == "function").toBe(true)
28
+
29
+ it "implements settings()", ->
30
+ expect(typeof(viewer.settings) == "function").toBe(true)
31
+
32
+ it "implements teardownKeyBindings()", ->
33
+ expect(typeof(viewer.teardownKeyBindings) == "function").toBe(true)
34
+
35
+ it "implements setupKeyBindings()", ->
36
+ expect(typeof(viewer.setupKeyBindings) == "function").toBe(true)
@@ -0,0 +1,22 @@
1
+ describe "Legend", ->
2
+ viewer = $('#ImageViewer').imageViewer
3
+
4
+ beforeEach ->
5
+ loadFixtures 'image_viewer_index'
6
+ $('#ImageViewer').imageViewer(["/assets/test_image_1.jpeg"])
7
+
8
+ afterEach ->
9
+ viewer.hideLegend()
10
+
11
+ it "toggles its own visibility", ->
12
+ start = Date.now();
13
+ expect($('#dialog').is(':visible')).toBe(false)
14
+ viewer.displayLegend()
15
+ expect($('#dialog').is(':visible')).toBe(true)
16
+
17
+ it "not be visible after hideLegend() is called", ->
18
+ expect($('#dialog').is(':visible')).toBe(false)
19
+ viewer.displayLegend(true)
20
+ expect($('#dialog').is(':visible')).toBe(true)
21
+ viewer.hideLegend()
22
+ expect($('#dialog').is(':visible')).toBe(false)
@@ -0,0 +1,17 @@
1
+ describe "Next / Previous Page", ->
2
+ viewer = $('#ImageViewer').imageViewer
3
+
4
+ beforeEach ->
5
+ loadFixtures 'image_viewer_index'
6
+ $('#ImageViewer').imageViewer(["/assets/test_image_1.jpeg", "/assets/test_image_2.jpeg"])
7
+
8
+ it "cycles to the next page when prompted", ->
9
+ current_page = viewer.settings("imageIndex")
10
+ viewer.scrollPage(1)
11
+ expect(viewer.settings("imageIndex")).toEqual(current_page + 1)
12
+
13
+ it "cycles to the previous page when prompted", ->
14
+ current_page = viewer.settings("imageIndex")
15
+ viewer.scrollPage(-1)
16
+ expect(viewer.settings("imageIndex")).toEqual(current_page + 1)
17
+
@@ -0,0 +1,42 @@
1
+ describe "Rotate Page / Rotate All Pages", ->
2
+ randomAngle = ->
3
+ Math.floor(Math.random() * 360) + 1;
4
+
5
+ verifyAngle = (angle)->
6
+ $('img').each (index)->
7
+ expect($(this).getRotateAngle()[0]).toBe(angle)
8
+
9
+ viewer = $('#ImageViewer').imageViewer
10
+
11
+ beforeEach ->
12
+ loadFixtures 'image_viewer_index'
13
+ $('#ImageViewer').imageViewer(["/assets/test_image_1.jpeg", "/assets/test_image_2.jpeg"]);
14
+
15
+ describe "Rotate Page", ->
16
+ it "rotates the current image by the degrees given", ->
17
+ image = $('img').first()
18
+ angle = randomAngle()
19
+
20
+ expect(image.getRotateAngle()[0]).toBeUndefined()
21
+ viewer.rotate(angle)
22
+ expect(image.getRotateAngle()[0]).toBe(angle)
23
+
24
+ describe 'Rotate All', ->
25
+ it "rotates all pages by the degrees given", ->
26
+ angle = randomAngle()
27
+
28
+ verifyAngle(undefined)
29
+ viewer.rotate_all(angle)
30
+ verifyAngle(angle)
31
+
32
+
33
+ it "maintains the current page after rotating", ->
34
+ currentPage = ->
35
+ viewer.settings('imageIndex')
36
+
37
+ expect(currentPage()).toBe(0)
38
+ viewer.scrollPage(1)
39
+ expect(currentPage()).toBe(1)
40
+ viewer.rotate_all(90)
41
+ expect(currentPage()).toBe(1)
42
+
@@ -0,0 +1,2 @@
1
+ /*= require image_viewer_rails
2
+ */
@@ -0,0 +1,3 @@
1
+ #= require jquery
2
+ #= require image_viewer_rails
3
+ #= require_tree ./
@@ -0,0 +1,13 @@
1
+ describe "Up Down Left Right", ->
2
+ viewer = $('#ImageViewer').imageViewer
3
+
4
+ beforeEach ->
5
+ loadFixtures 'image_viewer_index'
6
+ $('#ImageViewer').imageViewer(["/assets/test_image_1.jpeg"])
7
+
8
+ xit "moves the current image down", ->
9
+ increment = 50
10
+ initial_top = viewer.settings("currentImageDiv").scrollTop()
11
+ viewer.scroll(0, increment) # Left:0 / Top:increment
12
+ after_top = viewer.settings("currentImageDiv").scrollTop()
13
+ expect(after_top).toEqual(initial_top + increment)
@@ -0,0 +1,62 @@
1
+ describe "Zoom in/out", ->
2
+ images = ['/assets/test_image_1.jpeg']
3
+ viewer = $('#ImageViewer').imageViewer
4
+
5
+ percentageIncrease = (initial_value, new_value, scale_factor)->
6
+ scale_factor ?= 100
7
+ Math.round((new_value - initial_value) / initial_value * 100 * (scale_factor / 100))
8
+
9
+
10
+ beforeEach ->
11
+ loadFixtures 'image_viewer_index'
12
+ $('#ImageViewer').imageViewer(images)
13
+
14
+ it 'defaults to zooming by width', ->
15
+ expect(viewer.settings('zoomDirection')).toBe('width')
16
+
17
+ it 'uses zoomDirection and zoomLevel to set image element style attributes', ->
18
+ settings = {'zoomDirection': 'blah', 'zoomLevel': 73}
19
+ $('#ImageViewer').imageViewer(images, settings)
20
+ style = $('img').attr('style')
21
+ expect(viewer.settings('zoomDirection')).toBe(settings['zoomDirection'])
22
+ expect(viewer.settings('zoomLevel')).toBe(settings['zoomLevel'])
23
+ expect(style).toContain(settings['zoomDirection'] + ':' + settings['zoomLevel'])
24
+
25
+ it "zooms in to the current image given a positive integer", ->
26
+ zoom_increment = 50
27
+ initial_zoom_level = viewer.settings("zoomLevel")
28
+ initial_width = $('img').first().width().toFixed(2)
29
+ viewer.zoom(zoom_increment)
30
+ after_zoom = $('img').first().width().toFixed(2)
31
+ percentage_increase = percentageIncrease(initial_width, after_zoom, initial_zoom_level)
32
+ expect(percentage_increase).toEqual(zoom_increment)
33
+ expect(viewer.settings("zoomLevel")).toEqual(initial_zoom_level + zoom_increment)
34
+
35
+ it "zooms out of the current image given a negative integer", ->
36
+ zoom_increment = -50
37
+ initial_zoom_level = viewer.settings("zoomLevel")
38
+ initial_width = $('img').first().width().toFixed(2)
39
+ viewer.zoom(zoom_increment)
40
+ after_zoom = $('img').first().width().toFixed(2)
41
+ percentage_increase = percentageIncrease(initial_width, after_zoom, initial_zoom_level)
42
+ expect(percentage_increase).toEqual(zoom_increment)
43
+ expect(viewer.settings("zoomLevel")).toEqual(initial_zoom_level + zoom_increment)
44
+
45
+ it "prevents zooming past reasonable levels", ->
46
+ initial_zoom_level = viewer.settings("zoomLevel")
47
+ viewer.zoom(-1 * initial_zoom_level) # set zoomLevel to 0
48
+ expect(viewer.settings("zoomLevel")).toEqual(viewer.settings('increment'))
49
+
50
+ it "accepts zoom direction as second parameter", ->
51
+ viewer.zoom(0,'height')
52
+ console.log $('img').attr('style')
53
+ expect($('img').attr('style')).toContain('height: 100%')
54
+
55
+ it "allows zooming to specific percentage", ->
56
+ viewer.zoom('150%')
57
+ expect($('img').attr('style')).toContain('width: 150%')
58
+
59
+ it "allows zooming to specific percentage by height", ->
60
+ viewer.zoom('172%','height')
61
+ expect($('img').attr('style')).toContain('height: 172%')
62
+
@@ -0,0 +1,19 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+ require_relative "../config/environment.rb"
3
+
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+ require 'factory_girl_rails'
7
+
8
+ Rails.backtrace_cleaner.remove_silencers!
9
+
10
+ #Load support files
11
+
12
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
13
+
14
+ RSpec.configure do |config|
15
+ config.mock_with :rspec
16
+ config.use_transactional_fixtures = true
17
+ config.infer_base_class_for_anonymous_controllers = false
18
+ config.order = "random"
19
+ end
@@ -0,0 +1 @@
1
+ 77363
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: image_viewer_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-03-21 00:00:00.000000000 Z
13
+ date: 2013-03-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -28,6 +28,22 @@ dependencies:
28
28
  - !ruby/object:Gem::Version
29
29
  version: 3.2.13
30
30
  none: false
31
+ - !ruby/object:Gem::Dependency
32
+ name: sass-rails
33
+ prerelease: false
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ none: false
40
+ type: :runtime
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ none: false
31
47
  - !ruby/object:Gem::Dependency
32
48
  name: jquery-rails
33
49
  prerelease: false
@@ -44,6 +60,118 @@ dependencies:
44
60
  - !ruby/object:Gem::Version
45
61
  version: '0'
46
62
  none: false
63
+ - !ruby/object:Gem::Dependency
64
+ name: jasminerice
65
+ prerelease: false
66
+ requirement: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ none: false
72
+ type: :development
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ none: false
79
+ - !ruby/object:Gem::Dependency
80
+ name: rspec-rails
81
+ prerelease: false
82
+ requirement: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ none: false
88
+ type: :development
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ none: false
95
+ - !ruby/object:Gem::Dependency
96
+ name: factory_girl_rails
97
+ prerelease: false
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ none: false
104
+ type: :development
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ none: false
111
+ - !ruby/object:Gem::Dependency
112
+ name: sqlite3
113
+ prerelease: false
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ none: false
120
+ type: :development
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ none: false
127
+ - !ruby/object:Gem::Dependency
128
+ name: guard-jasmine
129
+ prerelease: false
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ none: false
136
+ type: :development
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ none: false
143
+ - !ruby/object:Gem::Dependency
144
+ name: rb-fsevent
145
+ prerelease: false
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ none: false
152
+ type: :development
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ none: false
159
+ - !ruby/object:Gem::Dependency
160
+ name: terminal-notifier-guard
161
+ prerelease: false
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ none: false
168
+ type: :development
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ none: false
47
175
  description: A rails engine to serve imageviewer js files easily and ubiquitiously
48
176
  email:
49
177
  - jonathan.jackson1@me.com
@@ -51,11 +179,14 @@ executables: []
51
179
  extensions: []
52
180
  extra_rdoc_files: []
53
181
  files:
54
- - app/assets/javascripts/image_viewer_rails/application.js
182
+ - app/assets/images/image_viewer_rails/glyphicons-halflings.png
55
183
  - app/assets/javascripts/image_viewer_rails/image_viewer.js
56
184
  - app/assets/javascripts/image_viewer_rails/jquery.rotate.js
57
185
  - app/assets/javascripts/image_viewer_rails/keymaster.js
58
186
  - app/assets/javascripts/image_viewer_rails/keymaster_filter.js
187
+ - app/assets/javascripts/image_viewer_rails.js
188
+ - app/assets/stylesheets/image_viewer_rails/image_viewer_rails.css.scss
189
+ - app/assets/stylesheets/image_viewer_rails.css.scss
59
190
  - app/controllers/image_viewer_rails/application_controller.rb
60
191
  - app/helpers/image_viewer_rails/application_helper.rb
61
192
  - app/views/layouts/image_viewer_rails/application.html.erb
@@ -66,38 +197,125 @@ files:
66
197
  - lib/tasks/image_viewer_rails_tasks.rake
67
198
  - MIT-LICENSE
68
199
  - Rakefile
69
- - README.rdoc
70
- - test/dummy/app/assets/javascripts/application.js
71
- - test/dummy/app/assets/stylesheets/application.css
72
- - test/dummy/app/controllers/application_controller.rb
73
- - test/dummy/app/helpers/application_helper.rb
74
- - test/dummy/app/views/layouts/application.html.erb
75
- - test/dummy/config/application.rb
76
- - test/dummy/config/boot.rb
77
- - test/dummy/config/database.yml
78
- - test/dummy/config/environment.rb
79
- - test/dummy/config/environments/development.rb
80
- - test/dummy/config/environments/production.rb
81
- - test/dummy/config/environments/test.rb
82
- - test/dummy/config/initializers/backtrace_silencers.rb
83
- - test/dummy/config/initializers/inflections.rb
84
- - test/dummy/config/initializers/mime_types.rb
85
- - test/dummy/config/initializers/secret_token.rb
86
- - test/dummy/config/initializers/session_store.rb
87
- - test/dummy/config/initializers/wrap_parameters.rb
88
- - test/dummy/config/locales/en.yml
89
- - test/dummy/config/routes.rb
90
- - test/dummy/config.ru
91
- - test/dummy/public/404.html
92
- - test/dummy/public/422.html
93
- - test/dummy/public/500.html
94
- - test/dummy/public/favicon.ico
95
- - test/dummy/Rakefile
96
- - test/dummy/README.rdoc
97
- - test/dummy/script/rails
98
- - test/image_viewer_rails_test.rb
99
- - test/integration/navigation_test.rb
100
- - test/test_helper.rb
200
+ - README.md
201
+ - spec/dummy/app/assets/images/test_image_1.jpeg
202
+ - spec/dummy/app/assets/images/test_image_2.jpeg
203
+ - spec/dummy/app/assets/javascripts/application.js
204
+ - spec/dummy/app/assets/stylesheets/application.css
205
+ - spec/dummy/app/controllers/application_controller.rb
206
+ - spec/dummy/app/helpers/application_helper.rb
207
+ - spec/dummy/app/views/layouts/application.html.erb
208
+ - spec/dummy/config/application.rb
209
+ - spec/dummy/config/boot.rb
210
+ - spec/dummy/config/database.yml
211
+ - spec/dummy/config/environment.rb
212
+ - spec/dummy/config/environments/development.rb
213
+ - spec/dummy/config/environments/production.rb
214
+ - spec/dummy/config/environments/test.rb
215
+ - spec/dummy/config/initializers/backtrace_silencers.rb
216
+ - spec/dummy/config/initializers/inflections.rb
217
+ - spec/dummy/config/initializers/jasminerice.rb
218
+ - spec/dummy/config/initializers/mime_types.rb
219
+ - spec/dummy/config/initializers/secret_token.rb
220
+ - spec/dummy/config/initializers/session_store.rb
221
+ - spec/dummy/config/initializers/wrap_parameters.rb
222
+ - spec/dummy/config/locales/en.yml
223
+ - spec/dummy/config/routes.rb
224
+ - spec/dummy/config.ru
225
+ - spec/dummy/db/development.sqlite3
226
+ - spec/dummy/db/schema.rb
227
+ - spec/dummy/Guardfile
228
+ - spec/dummy/log/development.log
229
+ - spec/dummy/public/404.html
230
+ - spec/dummy/public/422.html
231
+ - spec/dummy/public/500.html
232
+ - spec/dummy/public/favicon.ico
233
+ - spec/dummy/public/index.html
234
+ - spec/dummy/Rakefile
235
+ - spec/dummy/README.rdoc
236
+ - spec/dummy/script/rails
237
+ - spec/dummy/spec/javascripts/fixtures/image_viewer_index.html
238
+ - spec/dummy/spec/javascripts/image_viewer_spec.js.coffee
239
+ - spec/dummy/spec/javascripts/legend_spec.js.coffee
240
+ - spec/dummy/spec/javascripts/next_previous_spec.js.coffee
241
+ - spec/dummy/spec/javascripts/rotate_spec.js.coffee
242
+ - spec/dummy/spec/javascripts/spec.css
243
+ - spec/dummy/spec/javascripts/spec.js.coffee
244
+ - spec/dummy/spec/javascripts/up_down_left_right_spec.js.coffee
245
+ - spec/dummy/spec/javascripts/zoom_spec.js.coffee
246
+ - spec/dummy/spec/spec_helper.rb
247
+ - spec/dummy/tmp/cache/assets/C78/CF0/sprockets%2F4c1182626f663c405915d434b32a1f7f
248
+ - spec/dummy/tmp/cache/assets/C99/9B0/sprockets%2Fa9941d79a0b94987a18927cee3317927
249
+ - spec/dummy/tmp/cache/assets/C9E/8D0/sprockets%2Fb710412a42fdae81c87204551e24e662
250
+ - spec/dummy/tmp/cache/assets/CA9/A20/sprockets%2F386e5ac05fa279f14b12f811741054f5
251
+ - spec/dummy/tmp/cache/assets/CBB/840/sprockets%2Fb9f348a06c2785777cf51174eb53472c
252
+ - spec/dummy/tmp/cache/assets/CBB/AE0/sprockets%2F8cc11d459894b3e6713b274b3c2d2998
253
+ - spec/dummy/tmp/cache/assets/CBE/0E0/sprockets%2F60437498c8b738df7ca548c194c5c404
254
+ - spec/dummy/tmp/cache/assets/CBE/830/sprockets%2Fbf8810d7b8158fa9723b60c078c55982
255
+ - spec/dummy/tmp/cache/assets/CBE/940/sprockets%2F6e888093d88e1589b28b22e7dc702b21
256
+ - spec/dummy/tmp/cache/assets/CBE/B50/sprockets%2Fb046c2404d402d5c0093325dbfbe4402
257
+ - spec/dummy/tmp/cache/assets/CC1/EB0/sprockets%2F97ab83d357692007e47455bffeb98206
258
+ - spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
259
+ - spec/dummy/tmp/cache/assets/CDF/760/sprockets%2Fdc4c3b419582e803143a95437ddbe915
260
+ - spec/dummy/tmp/cache/assets/CE2/FB0/sprockets%2Fb900e155a974e18df90a08c45572e34f
261
+ - spec/dummy/tmp/cache/assets/CE3/360/sprockets%2Ff18993ab65612965f701cc1b2ad7427f
262
+ - spec/dummy/tmp/cache/assets/CE7/140/sprockets%2F536789550d2b89671badb5934d1c0ec6
263
+ - spec/dummy/tmp/cache/assets/CE8/370/sprockets%2F9622d96b460a12834e7e8e9102eef8b3
264
+ - spec/dummy/tmp/cache/assets/CF3/3E0/sprockets%2F8c41346932bbe865dd239e88b596e8a1
265
+ - spec/dummy/tmp/cache/assets/CF4/A20/sprockets%2F226db1b5302cfedbaa061778224149b0
266
+ - spec/dummy/tmp/cache/assets/D01/490/sprockets%2F9651d311eadb3fa6b080634f12c6472e
267
+ - spec/dummy/tmp/cache/assets/D0A/E20/sprockets%2F59e8093eb189f249d5e29ffd839817e7
268
+ - spec/dummy/tmp/cache/assets/D0B/030/sprockets%2F61735f31c4b299da1a76d1f7e5a0508d
269
+ - spec/dummy/tmp/cache/assets/D0E/350/sprockets%2F1e2a56147a5a2dcf2e99b8a19446753a
270
+ - spec/dummy/tmp/cache/assets/D11/250/sprockets%2F8d74f33fbc5db89e5a62873030c42d24
271
+ - spec/dummy/tmp/cache/assets/D13/950/sprockets%2Feb9383751d2a2d2c985333a6815dae6f
272
+ - spec/dummy/tmp/cache/assets/D18/390/sprockets%2F56ba9fd12901f581bed04627d782eb88
273
+ - spec/dummy/tmp/cache/assets/D18/750/sprockets%2F28d97038567f4df00d24e4e1d1cb57e9
274
+ - spec/dummy/tmp/cache/assets/D1C/5D0/sprockets%2F5c8c17d7d0163269758aceec573729bc
275
+ - spec/dummy/tmp/cache/assets/D26/1F0/sprockets%2F5323df7e62538575d8c46bec5f37cf49
276
+ - spec/dummy/tmp/cache/assets/D29/F20/sprockets%2F30bec94a7aeb240d3b4643ed218018d2
277
+ - spec/dummy/tmp/cache/assets/D30/190/sprockets%2F70d408edd9d42b23fc091c122730d5dd
278
+ - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
279
+ - spec/dummy/tmp/cache/assets/D32/C00/sprockets%2Fd2c8b816371688e71ba1f0b6aff2a013
280
+ - spec/dummy/tmp/cache/assets/D35/660/sprockets%2F73a76ae2db798148aac4b73d032b0e45
281
+ - spec/dummy/tmp/cache/assets/D37/080/sprockets%2F40c20f1ac6e943173bc6d509c46fe1d7
282
+ - spec/dummy/tmp/cache/assets/D3F/210/sprockets%2F7871bdd9c5cc315a093fa55b7066ea18
283
+ - spec/dummy/tmp/cache/assets/D42/3E0/sprockets%2F6f2a5b95993527fb576a3190bb32bdfb
284
+ - spec/dummy/tmp/cache/assets/D42/850/sprockets%2F0be7513b1b8d29b2ce99e26f4923bf80
285
+ - spec/dummy/tmp/cache/assets/D49/5A0/sprockets%2Fe8b9a200e5765af8863595d60dc8dda1
286
+ - spec/dummy/tmp/cache/assets/D4A/0A0/sprockets%2F54bb86eb7a7328694996b3a30ffdaf14
287
+ - spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
288
+ - spec/dummy/tmp/cache/assets/D4F/900/sprockets%2F1c9166be1891cf7e48e359c916aeb82c
289
+ - spec/dummy/tmp/cache/assets/D52/E40/sprockets%2F6d6d87253de33becf54259e872ded815
290
+ - spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
291
+ - spec/dummy/tmp/cache/assets/D64/9D0/sprockets%2F2057bd6bd0256a7b4b9d47ef0802a5bf
292
+ - spec/dummy/tmp/cache/assets/D68/690/sprockets%2F8233fd2400e1cffe7d380d8e058cd22c
293
+ - spec/dummy/tmp/cache/assets/D77/000/sprockets%2F1dc3883d4259597efbc7b91b1e3fe40c
294
+ - spec/dummy/tmp/cache/assets/D7B/630/sprockets%2F8b1d98cdb28a579c80c8e40f0173c9ee
295
+ - spec/dummy/tmp/cache/assets/D88/EA0/sprockets%2Fcfbfcaedd29f95ec066119359787819c
296
+ - spec/dummy/tmp/cache/assets/D90/E10/sprockets%2F3eef7d0e134d1a4bdb68173d2710ebf3
297
+ - spec/dummy/tmp/cache/assets/D93/5F0/sprockets%2F5a9c4a80c5a143e82cb33e0bd2ce786c
298
+ - spec/dummy/tmp/cache/assets/D9D/380/sprockets%2Fee6a4506692c5553fca9de6de10d02fc
299
+ - spec/dummy/tmp/cache/assets/D9D/9D0/sprockets%2F1197fc7e8fd84cbca020c0a7c327c8d8
300
+ - spec/dummy/tmp/cache/assets/DAB/900/sprockets%2F77dac92ac79c687222242eef8f1b2ffe
301
+ - spec/dummy/tmp/cache/assets/DAB/EA0/sprockets%2Fa66df58b48e9a4dc3a543b476ee24c8e
302
+ - spec/dummy/tmp/cache/assets/DBE/FB0/sprockets%2Fdb8b7d7c1e05cb3af030eb26c971e2c3
303
+ - spec/dummy/tmp/cache/assets/DC8/A10/sprockets%2F44c5bf090e7eb3abc3da5177e7502fee
304
+ - spec/dummy/tmp/cache/assets/DCA/6E0/sprockets%2F39615bd6ae519bf36ba6af7a0aa76c7c
305
+ - spec/dummy/tmp/cache/assets/DCD/050/sprockets%2Fc025d36b6fa943b07cd5243f8cecf7eb
306
+ - spec/dummy/tmp/cache/assets/DD1/F20/sprockets%2Fffd9cc2905ac7a5c93b5233e1cfa884c
307
+ - spec/dummy/tmp/cache/assets/DDA/C70/sprockets%2F45f4a613cfc7cff9190871fbcea3f3f8
308
+ - spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
309
+ - spec/dummy/tmp/cache/assets/DE7/770/sprockets%2F056c18c8e967dd4b9e9cf85eadac64f5
310
+ - spec/dummy/tmp/cache/assets/DF9/B60/sprockets%2Fd6008a45e143bce9f6ec12bf5d3e5bfd
311
+ - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
312
+ - spec/dummy/tmp/cache/assets/E04/EC0/sprockets%2Fe80fdba41b8de268cbeb5a3c788ef255
313
+ - spec/dummy/tmp/cache/assets/E12/900/sprockets%2Fcda5325200faa03dfc104fd3fe67ceba
314
+ - spec/dummy/tmp/cache/assets/E2E/0C0/sprockets%2Fceb407f9b6ac92dddc932e73cacf9a04
315
+ - spec/dummy/tmp/cache/assets/E2F/AA0/sprockets%2F863db5f4a3eba66229ef23cbeeed9cb2
316
+ - spec/dummy/tmp/cache/assets/E34/8A0/sprockets%2Fdcd8b4c62858ccacc994381b6cadb7cd
317
+ - spec/dummy/tmp/cache/assets/E52/B30/sprockets%2F73ba6bee6c4e4e37ea2ccceb9c230cf0
318
+ - spec/dummy/tmp/pids/server.pid
101
319
  homepage: http://jonathan-jackson.net
102
320
  licenses: []
103
321
  post_install_message:
@@ -123,35 +341,122 @@ signing_key:
123
341
  specification_version: 3
124
342
  summary: A rails engine to serve imageviewer js files easily and ubiquitiously
125
343
  test_files:
126
- - test/dummy/app/assets/javascripts/application.js
127
- - test/dummy/app/assets/stylesheets/application.css
128
- - test/dummy/app/controllers/application_controller.rb
129
- - test/dummy/app/helpers/application_helper.rb
130
- - test/dummy/app/views/layouts/application.html.erb
131
- - test/dummy/config/application.rb
132
- - test/dummy/config/boot.rb
133
- - test/dummy/config/database.yml
134
- - test/dummy/config/environment.rb
135
- - test/dummy/config/environments/development.rb
136
- - test/dummy/config/environments/production.rb
137
- - test/dummy/config/environments/test.rb
138
- - test/dummy/config/initializers/backtrace_silencers.rb
139
- - test/dummy/config/initializers/inflections.rb
140
- - test/dummy/config/initializers/mime_types.rb
141
- - test/dummy/config/initializers/secret_token.rb
142
- - test/dummy/config/initializers/session_store.rb
143
- - test/dummy/config/initializers/wrap_parameters.rb
144
- - test/dummy/config/locales/en.yml
145
- - test/dummy/config/routes.rb
146
- - test/dummy/config.ru
147
- - test/dummy/public/404.html
148
- - test/dummy/public/422.html
149
- - test/dummy/public/500.html
150
- - test/dummy/public/favicon.ico
151
- - test/dummy/Rakefile
152
- - test/dummy/README.rdoc
153
- - test/dummy/script/rails
154
- - test/image_viewer_rails_test.rb
155
- - test/integration/navigation_test.rb
156
- - test/test_helper.rb
344
+ - spec/dummy/app/assets/images/test_image_1.jpeg
345
+ - spec/dummy/app/assets/images/test_image_2.jpeg
346
+ - spec/dummy/app/assets/javascripts/application.js
347
+ - spec/dummy/app/assets/stylesheets/application.css
348
+ - spec/dummy/app/controllers/application_controller.rb
349
+ - spec/dummy/app/helpers/application_helper.rb
350
+ - spec/dummy/app/views/layouts/application.html.erb
351
+ - spec/dummy/config/application.rb
352
+ - spec/dummy/config/boot.rb
353
+ - spec/dummy/config/database.yml
354
+ - spec/dummy/config/environment.rb
355
+ - spec/dummy/config/environments/development.rb
356
+ - spec/dummy/config/environments/production.rb
357
+ - spec/dummy/config/environments/test.rb
358
+ - spec/dummy/config/initializers/backtrace_silencers.rb
359
+ - spec/dummy/config/initializers/inflections.rb
360
+ - spec/dummy/config/initializers/jasminerice.rb
361
+ - spec/dummy/config/initializers/mime_types.rb
362
+ - spec/dummy/config/initializers/secret_token.rb
363
+ - spec/dummy/config/initializers/session_store.rb
364
+ - spec/dummy/config/initializers/wrap_parameters.rb
365
+ - spec/dummy/config/locales/en.yml
366
+ - spec/dummy/config/routes.rb
367
+ - spec/dummy/config.ru
368
+ - spec/dummy/db/development.sqlite3
369
+ - spec/dummy/db/schema.rb
370
+ - spec/dummy/Guardfile
371
+ - spec/dummy/log/development.log
372
+ - spec/dummy/public/404.html
373
+ - spec/dummy/public/422.html
374
+ - spec/dummy/public/500.html
375
+ - spec/dummy/public/favicon.ico
376
+ - spec/dummy/public/index.html
377
+ - spec/dummy/Rakefile
378
+ - spec/dummy/README.rdoc
379
+ - spec/dummy/script/rails
380
+ - spec/dummy/spec/javascripts/fixtures/image_viewer_index.html
381
+ - spec/dummy/spec/javascripts/image_viewer_spec.js.coffee
382
+ - spec/dummy/spec/javascripts/legend_spec.js.coffee
383
+ - spec/dummy/spec/javascripts/next_previous_spec.js.coffee
384
+ - spec/dummy/spec/javascripts/rotate_spec.js.coffee
385
+ - spec/dummy/spec/javascripts/spec.css
386
+ - spec/dummy/spec/javascripts/spec.js.coffee
387
+ - spec/dummy/spec/javascripts/up_down_left_right_spec.js.coffee
388
+ - spec/dummy/spec/javascripts/zoom_spec.js.coffee
389
+ - spec/dummy/spec/spec_helper.rb
390
+ - spec/dummy/tmp/cache/assets/C78/CF0/sprockets%2F4c1182626f663c405915d434b32a1f7f
391
+ - spec/dummy/tmp/cache/assets/C99/9B0/sprockets%2Fa9941d79a0b94987a18927cee3317927
392
+ - spec/dummy/tmp/cache/assets/C9E/8D0/sprockets%2Fb710412a42fdae81c87204551e24e662
393
+ - spec/dummy/tmp/cache/assets/CA9/A20/sprockets%2F386e5ac05fa279f14b12f811741054f5
394
+ - spec/dummy/tmp/cache/assets/CBB/840/sprockets%2Fb9f348a06c2785777cf51174eb53472c
395
+ - spec/dummy/tmp/cache/assets/CBB/AE0/sprockets%2F8cc11d459894b3e6713b274b3c2d2998
396
+ - spec/dummy/tmp/cache/assets/CBE/0E0/sprockets%2F60437498c8b738df7ca548c194c5c404
397
+ - spec/dummy/tmp/cache/assets/CBE/830/sprockets%2Fbf8810d7b8158fa9723b60c078c55982
398
+ - spec/dummy/tmp/cache/assets/CBE/940/sprockets%2F6e888093d88e1589b28b22e7dc702b21
399
+ - spec/dummy/tmp/cache/assets/CBE/B50/sprockets%2Fb046c2404d402d5c0093325dbfbe4402
400
+ - spec/dummy/tmp/cache/assets/CC1/EB0/sprockets%2F97ab83d357692007e47455bffeb98206
401
+ - spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
402
+ - spec/dummy/tmp/cache/assets/CDF/760/sprockets%2Fdc4c3b419582e803143a95437ddbe915
403
+ - spec/dummy/tmp/cache/assets/CE2/FB0/sprockets%2Fb900e155a974e18df90a08c45572e34f
404
+ - spec/dummy/tmp/cache/assets/CE3/360/sprockets%2Ff18993ab65612965f701cc1b2ad7427f
405
+ - spec/dummy/tmp/cache/assets/CE7/140/sprockets%2F536789550d2b89671badb5934d1c0ec6
406
+ - spec/dummy/tmp/cache/assets/CE8/370/sprockets%2F9622d96b460a12834e7e8e9102eef8b3
407
+ - spec/dummy/tmp/cache/assets/CF3/3E0/sprockets%2F8c41346932bbe865dd239e88b596e8a1
408
+ - spec/dummy/tmp/cache/assets/CF4/A20/sprockets%2F226db1b5302cfedbaa061778224149b0
409
+ - spec/dummy/tmp/cache/assets/D01/490/sprockets%2F9651d311eadb3fa6b080634f12c6472e
410
+ - spec/dummy/tmp/cache/assets/D0A/E20/sprockets%2F59e8093eb189f249d5e29ffd839817e7
411
+ - spec/dummy/tmp/cache/assets/D0B/030/sprockets%2F61735f31c4b299da1a76d1f7e5a0508d
412
+ - spec/dummy/tmp/cache/assets/D0E/350/sprockets%2F1e2a56147a5a2dcf2e99b8a19446753a
413
+ - spec/dummy/tmp/cache/assets/D11/250/sprockets%2F8d74f33fbc5db89e5a62873030c42d24
414
+ - spec/dummy/tmp/cache/assets/D13/950/sprockets%2Feb9383751d2a2d2c985333a6815dae6f
415
+ - spec/dummy/tmp/cache/assets/D18/390/sprockets%2F56ba9fd12901f581bed04627d782eb88
416
+ - spec/dummy/tmp/cache/assets/D18/750/sprockets%2F28d97038567f4df00d24e4e1d1cb57e9
417
+ - spec/dummy/tmp/cache/assets/D1C/5D0/sprockets%2F5c8c17d7d0163269758aceec573729bc
418
+ - spec/dummy/tmp/cache/assets/D26/1F0/sprockets%2F5323df7e62538575d8c46bec5f37cf49
419
+ - spec/dummy/tmp/cache/assets/D29/F20/sprockets%2F30bec94a7aeb240d3b4643ed218018d2
420
+ - spec/dummy/tmp/cache/assets/D30/190/sprockets%2F70d408edd9d42b23fc091c122730d5dd
421
+ - spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
422
+ - spec/dummy/tmp/cache/assets/D32/C00/sprockets%2Fd2c8b816371688e71ba1f0b6aff2a013
423
+ - spec/dummy/tmp/cache/assets/D35/660/sprockets%2F73a76ae2db798148aac4b73d032b0e45
424
+ - spec/dummy/tmp/cache/assets/D37/080/sprockets%2F40c20f1ac6e943173bc6d509c46fe1d7
425
+ - spec/dummy/tmp/cache/assets/D3F/210/sprockets%2F7871bdd9c5cc315a093fa55b7066ea18
426
+ - spec/dummy/tmp/cache/assets/D42/3E0/sprockets%2F6f2a5b95993527fb576a3190bb32bdfb
427
+ - spec/dummy/tmp/cache/assets/D42/850/sprockets%2F0be7513b1b8d29b2ce99e26f4923bf80
428
+ - spec/dummy/tmp/cache/assets/D49/5A0/sprockets%2Fe8b9a200e5765af8863595d60dc8dda1
429
+ - spec/dummy/tmp/cache/assets/D4A/0A0/sprockets%2F54bb86eb7a7328694996b3a30ffdaf14
430
+ - spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
431
+ - spec/dummy/tmp/cache/assets/D4F/900/sprockets%2F1c9166be1891cf7e48e359c916aeb82c
432
+ - spec/dummy/tmp/cache/assets/D52/E40/sprockets%2F6d6d87253de33becf54259e872ded815
433
+ - spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
434
+ - spec/dummy/tmp/cache/assets/D64/9D0/sprockets%2F2057bd6bd0256a7b4b9d47ef0802a5bf
435
+ - spec/dummy/tmp/cache/assets/D68/690/sprockets%2F8233fd2400e1cffe7d380d8e058cd22c
436
+ - spec/dummy/tmp/cache/assets/D77/000/sprockets%2F1dc3883d4259597efbc7b91b1e3fe40c
437
+ - spec/dummy/tmp/cache/assets/D7B/630/sprockets%2F8b1d98cdb28a579c80c8e40f0173c9ee
438
+ - spec/dummy/tmp/cache/assets/D88/EA0/sprockets%2Fcfbfcaedd29f95ec066119359787819c
439
+ - spec/dummy/tmp/cache/assets/D90/E10/sprockets%2F3eef7d0e134d1a4bdb68173d2710ebf3
440
+ - spec/dummy/tmp/cache/assets/D93/5F0/sprockets%2F5a9c4a80c5a143e82cb33e0bd2ce786c
441
+ - spec/dummy/tmp/cache/assets/D9D/380/sprockets%2Fee6a4506692c5553fca9de6de10d02fc
442
+ - spec/dummy/tmp/cache/assets/D9D/9D0/sprockets%2F1197fc7e8fd84cbca020c0a7c327c8d8
443
+ - spec/dummy/tmp/cache/assets/DAB/900/sprockets%2F77dac92ac79c687222242eef8f1b2ffe
444
+ - spec/dummy/tmp/cache/assets/DAB/EA0/sprockets%2Fa66df58b48e9a4dc3a543b476ee24c8e
445
+ - spec/dummy/tmp/cache/assets/DBE/FB0/sprockets%2Fdb8b7d7c1e05cb3af030eb26c971e2c3
446
+ - spec/dummy/tmp/cache/assets/DC8/A10/sprockets%2F44c5bf090e7eb3abc3da5177e7502fee
447
+ - spec/dummy/tmp/cache/assets/DCA/6E0/sprockets%2F39615bd6ae519bf36ba6af7a0aa76c7c
448
+ - spec/dummy/tmp/cache/assets/DCD/050/sprockets%2Fc025d36b6fa943b07cd5243f8cecf7eb
449
+ - spec/dummy/tmp/cache/assets/DD1/F20/sprockets%2Fffd9cc2905ac7a5c93b5233e1cfa884c
450
+ - spec/dummy/tmp/cache/assets/DDA/C70/sprockets%2F45f4a613cfc7cff9190871fbcea3f3f8
451
+ - spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
452
+ - spec/dummy/tmp/cache/assets/DE7/770/sprockets%2F056c18c8e967dd4b9e9cf85eadac64f5
453
+ - spec/dummy/tmp/cache/assets/DF9/B60/sprockets%2Fd6008a45e143bce9f6ec12bf5d3e5bfd
454
+ - spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
455
+ - spec/dummy/tmp/cache/assets/E04/EC0/sprockets%2Fe80fdba41b8de268cbeb5a3c788ef255
456
+ - spec/dummy/tmp/cache/assets/E12/900/sprockets%2Fcda5325200faa03dfc104fd3fe67ceba
457
+ - spec/dummy/tmp/cache/assets/E2E/0C0/sprockets%2Fceb407f9b6ac92dddc932e73cacf9a04
458
+ - spec/dummy/tmp/cache/assets/E2F/AA0/sprockets%2F863db5f4a3eba66229ef23cbeeed9cb2
459
+ - spec/dummy/tmp/cache/assets/E34/8A0/sprockets%2Fdcd8b4c62858ccacc994381b6cadb7cd
460
+ - spec/dummy/tmp/cache/assets/E52/B30/sprockets%2F73ba6bee6c4e4e37ea2ccceb9c230cf0
461
+ - spec/dummy/tmp/pids/server.pid
157
462
  has_rdoc: