compass-sourcemaps 0.12.3.sourcemaps.a4836f1 → 0.12.4.sourcemaps.a4836f1

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 (495) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.markdown +29 -29
  3. data/README.markdown +39 -39
  4. data/Rakefile +157 -157
  5. data/VERSION.yml +5 -5
  6. data/bin/compass +45 -45
  7. data/examples/README.markdown +3 -3
  8. data/examples/blueprint_default/config.rb +7 -7
  9. data/examples/blueprint_default/index.html.haml +85 -85
  10. data/examples/blueprint_default/parts/elements.html.haml +282 -282
  11. data/examples/blueprint_default/parts/forms.html.haml +200 -200
  12. data/examples/blueprint_default/parts/grid.html.haml +274 -274
  13. data/examples/blueprint_default/src/ie.scss +3 -3
  14. data/examples/blueprint_default/src/print.scss +3 -3
  15. data/examples/blueprint_default/src/screen.scss +9 -9
  16. data/examples/blueprint_plugins/config.rb +8 -8
  17. data/examples/blueprint_plugins/index.html.haml +96 -96
  18. data/examples/blueprint_plugins/plugins/buttons.html.haml +67 -67
  19. data/examples/blueprint_plugins/plugins/fancy_type.html.haml +100 -100
  20. data/examples/blueprint_plugins/plugins/link_icons.html.haml +61 -61
  21. data/examples/blueprint_plugins/plugins/rtl.html.haml +100 -100
  22. data/examples/blueprint_plugins/src/buttons.scss +47 -47
  23. data/examples/blueprint_plugins/src/ie.scss +3 -3
  24. data/examples/blueprint_plugins/src/link_icons.scss +13 -13
  25. data/examples/blueprint_plugins/src/print.scss +3 -3
  26. data/examples/blueprint_plugins/src/rtl_screen.scss +15 -15
  27. data/examples/blueprint_plugins/src/screen.scss +12 -12
  28. data/examples/blueprint_scoped/src/ie.scss +4 -4
  29. data/examples/blueprint_scoped/src/print.scss +4 -4
  30. data/examples/blueprint_scoped/src/screen.scss +5 -5
  31. data/examples/blueprint_scoped_form/src/ie.scss +3 -3
  32. data/examples/blueprint_scoped_form/src/print.scss +3 -3
  33. data/examples/blueprint_scoped_form/src/screen.scss +15 -15
  34. data/examples/blueprint_semantic/config.rb +7 -7
  35. data/examples/blueprint_semantic/index.html.haml +86 -86
  36. data/examples/blueprint_semantic/parts/fancy_type.html.haml +100 -100
  37. data/examples/blueprint_semantic/parts/liquid.html.haml +100 -100
  38. data/examples/blueprint_semantic/src/ie.scss +3 -3
  39. data/examples/blueprint_semantic/src/liquid.scss +69 -69
  40. data/examples/blueprint_semantic/src/print.scss +3 -3
  41. data/examples/blueprint_semantic/src/screen.scss +69 -69
  42. data/examples/compass/bootstrap.rb +3 -3
  43. data/examples/compass/clean.rb +1 -1
  44. data/examples/compass/compass.html.haml +39 -39
  45. data/examples/compass/config.rb +8 -8
  46. data/examples/compass/pie.html.haml +73 -73
  47. data/examples/compass/sprites.html.haml +37 -37
  48. data/examples/compass/src/bp_layout.scss +18 -18
  49. data/examples/compass/src/compass.scss +46 -46
  50. data/examples/compass/src/pie.scss +110 -110
  51. data/examples/compass/src/sprites.scss +24 -24
  52. data/examples/compass/src/sticky_footer.scss +11 -11
  53. data/examples/compass/src/utilities.scss +108 -108
  54. data/examples/compass/sticky_footer.html.haml +13 -13
  55. data/examples/compass/utilities.html.haml +189 -189
  56. data/examples/css3/bootstrap.rb +3 -3
  57. data/examples/css3/clean.rb +2 -2
  58. data/examples/css3/config.rb +6 -6
  59. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +10 -10
  60. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +6 -6
  61. data/examples/css3/gradients.html.haml +68 -68
  62. data/examples/css3/index.html.haml +57 -57
  63. data/examples/css3/src/_base.scss +13 -13
  64. data/examples/css3/src/fancy-fonts.scss +13 -13
  65. data/examples/css3/src/gradients.scss +85 -85
  66. data/examples/css3/src/main.scss +108 -108
  67. data/examples/downloader.rb +58 -58
  68. data/examples/ninesixty/bootstrap.rb +4 -4
  69. data/examples/ninesixty/clean.rb +1 -1
  70. data/examples/ninesixty/config.rb +9 -9
  71. data/examples/ninesixty/src/grid.scss +15 -15
  72. data/examples/ninesixty/src/text.scss +8 -8
  73. data/examples/susy/bootstrap.rb +3 -3
  74. data/examples/susy/clean.rb +1 -1
  75. data/examples/susy/config.rb +9 -9
  76. data/examples/susy/src/_base.scss +61 -61
  77. data/examples/susy/src/_defaults.scss +140 -140
  78. data/examples/susy/src/screen.scss +100 -100
  79. data/examples/yui/bootstrap.rb +2 -2
  80. data/examples/yui/clean.rb +1 -1
  81. data/examples/yui/divisions.html.haml +179 -179
  82. data/examples/yui/index.html.haml +19 -19
  83. data/examples/yui/src/screen.scss +13 -13
  84. data/examples/yui/sub_divisions.html.haml +169 -169
  85. data/examples/yui/templates.html.haml +54 -54
  86. data/examples/yui/typography.html.haml +132 -132
  87. data/features/command_line.feature +292 -292
  88. data/features/extensions.feature +27 -27
  89. data/features/step_definitions/command_line_steps.rb +268 -268
  90. data/features/step_definitions/extension_steps.rb +24 -24
  91. data/frameworks/blueprint/stylesheets/_blueprint.scss +37 -37
  92. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +100 -100
  93. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +36 -36
  94. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +28 -28
  95. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +88 -88
  96. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +66 -66
  97. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +258 -258
  98. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +111 -111
  99. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +66 -66
  100. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +37 -37
  101. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +152 -152
  102. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +86 -86
  103. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +2 -2
  104. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +121 -121
  105. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +52 -52
  106. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +90 -90
  107. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +37 -37
  108. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +83 -83
  109. data/frameworks/blueprint/templates/basic/ie.sass +4 -4
  110. data/frameworks/blueprint/templates/basic/manifest.rb +30 -30
  111. data/frameworks/blueprint/templates/basic/partials/_base.sass +10 -10
  112. data/frameworks/blueprint/templates/basic/print.sass +4 -4
  113. data/frameworks/blueprint/templates/basic/screen.sass +12 -12
  114. data/frameworks/blueprint/templates/buttons/buttons.sass +49 -49
  115. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  116. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  117. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  118. data/frameworks/blueprint/templates/buttons/manifest.rb +17 -17
  119. data/frameworks/blueprint/templates/link_icons/link_icons.sass +13 -13
  120. data/frameworks/blueprint/templates/link_icons/manifest.rb +23 -23
  121. data/frameworks/blueprint/templates/project/ie.sass +16 -16
  122. data/frameworks/blueprint/templates/project/manifest.rb +30 -30
  123. data/frameworks/blueprint/templates/project/partials/_base.sass +11 -11
  124. data/frameworks/blueprint/templates/project/print.sass +7 -7
  125. data/frameworks/blueprint/templates/project/screen.sass +46 -46
  126. data/frameworks/blueprint/templates/semantic/ie.sass +16 -16
  127. data/frameworks/blueprint/templates/semantic/manifest.rb +33 -33
  128. data/frameworks/blueprint/templates/semantic/partials/_base.sass +10 -10
  129. data/frameworks/blueprint/templates/semantic/partials/_form.sass +5 -5
  130. data/frameworks/blueprint/templates/semantic/partials/_page.sass +17 -17
  131. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +38 -38
  132. data/frameworks/blueprint/templates/semantic/print.sass +4 -4
  133. data/frameworks/blueprint/templates/semantic/screen.sass +14 -14
  134. data/frameworks/compass/stylesheets/_compass.scss +3 -3
  135. data/frameworks/compass/stylesheets/_lemonade.scss +37 -37
  136. data/frameworks/compass/stylesheets/compass/_css3.scss +20 -20
  137. data/frameworks/compass/stylesheets/compass/_layout.scss +3 -3
  138. data/frameworks/compass/stylesheets/compass/_reset-legacy.scss +3 -3
  139. data/frameworks/compass/stylesheets/compass/_reset.scss +3 -3
  140. data/frameworks/compass/stylesheets/compass/_support.scss +40 -40
  141. data/frameworks/compass/stylesheets/compass/_typography.scss +4 -4
  142. data/frameworks/compass/stylesheets/compass/_utilities.scss +9 -9
  143. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +17 -17
  144. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +43 -43
  145. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +42 -42
  146. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +26 -26
  147. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +130 -130
  148. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +76 -76
  149. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +13 -13
  150. data/frameworks/compass/stylesheets/compass/css3/_box.scss +111 -111
  151. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +156 -156
  152. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +23 -23
  153. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +48 -48
  154. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +77 -77
  155. data/frameworks/compass/stylesheets/compass/css3/_images.scss +132 -132
  156. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +22 -22
  157. data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +19 -19
  158. data/frameworks/compass/stylesheets/compass/css3/_pie.scss +72 -72
  159. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +21 -21
  160. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +38 -38
  161. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +87 -87
  162. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +87 -87
  163. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +598 -598
  164. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +221 -221
  165. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +17 -17
  166. data/frameworks/compass/stylesheets/compass/layout/_grid-background.scss +178 -178
  167. data/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -23
  168. data/frameworks/compass/stylesheets/compass/layout/_stretching.scss +23 -23
  169. data/frameworks/compass/stylesheets/compass/reset/_utilities-legacy.scss +135 -135
  170. data/frameworks/compass/stylesheets/compass/reset/_utilities.scss +142 -142
  171. data/frameworks/compass/stylesheets/compass/typography/_links.scss +3 -3
  172. data/frameworks/compass/stylesheets/compass/typography/_lists.scss +4 -4
  173. data/frameworks/compass/stylesheets/compass/typography/_text.scss +4 -4
  174. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +221 -221
  175. data/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss +5 -5
  176. data/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss +28 -28
  177. data/frameworks/compass/stylesheets/compass/typography/links/_unstyled-link.scss +7 -7
  178. data/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss +34 -34
  179. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +61 -61
  180. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -50
  181. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +44 -44
  182. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +25 -25
  183. data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +12 -12
  184. data/frameworks/compass/stylesheets/compass/typography/text/_nowrap.scss +2 -2
  185. data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +68 -68
  186. data/frameworks/compass/stylesheets/compass/utilities/_general.scss +6 -6
  187. data/frameworks/compass/stylesheets/compass/utilities/_links.scss +5 -5
  188. data/frameworks/compass/stylesheets/compass/utilities/_lists.scss +6 -6
  189. data/frameworks/compass/stylesheets/compass/utilities/_print.scss +17 -17
  190. data/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +2 -2
  191. data/frameworks/compass/stylesheets/compass/utilities/_tables.scss +3 -3
  192. data/frameworks/compass/stylesheets/compass/utilities/_text.scss +5 -5
  193. data/frameworks/compass/stylesheets/compass/utilities/color/_contrast.scss +27 -27
  194. data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +44 -44
  195. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +29 -29
  196. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +46 -46
  197. data/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +16 -16
  198. data/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +1 -1
  199. data/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -1
  200. data/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -18
  201. data/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +3 -3
  202. data/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +3 -3
  203. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -3
  204. data/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +3 -3
  205. data/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -3
  206. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -3
  207. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +3 -3
  208. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +65 -65
  209. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +78 -78
  210. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -22
  211. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +33 -33
  212. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -9
  213. data/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +3 -3
  214. data/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +3 -3
  215. data/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +3 -3
  216. data/frameworks/compass/templates/ellipsis/ellipsis.sass +8 -8
  217. data/frameworks/compass/templates/ellipsis/manifest.rb +26 -26
  218. data/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +13 -13
  219. data/frameworks/compass/templates/extension/manifest.rb +26 -26
  220. data/frameworks/compass/templates/extension/stylesheets/main.sass +1 -1
  221. data/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -2
  222. data/frameworks/compass/templates/extension/templates/project/screen.sass +1 -1
  223. data/frameworks/compass/templates/pie/LICENSE +12 -12
  224. data/frameworks/compass/templates/pie/LICENSE-APACHE2.txt +13 -13
  225. data/frameworks/compass/templates/pie/LICENSE-GPL2.txt +277 -277
  226. data/frameworks/compass/templates/pie/PIE.htc +96 -96
  227. data/frameworks/compass/templates/pie/manifest.rb +39 -39
  228. data/frameworks/compass/templates/pie/pie.scss +73 -73
  229. data/frameworks/compass/templates/project/USAGE.markdown +32 -32
  230. data/frameworks/compass/templates/project/ie.sass +6 -6
  231. data/frameworks/compass/templates/project/manifest.rb +3 -3
  232. data/frameworks/compass/templates/project/print.sass +6 -6
  233. data/frameworks/compass/templates/project/screen.sass +7 -7
  234. data/lib/compass.rb +37 -37
  235. data/lib/compass/actions.rb +115 -115
  236. data/lib/compass/app_integration.rb +39 -39
  237. data/lib/compass/app_integration/rails.rb +18 -18
  238. data/lib/compass/app_integration/stand_alone.rb +22 -22
  239. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +32 -32
  240. data/lib/compass/app_integration/stand_alone/installer.rb +83 -83
  241. data/lib/compass/browser_support.rb +62 -62
  242. data/lib/compass/commands.rb +12 -12
  243. data/lib/compass/commands/base.rb +44 -44
  244. data/lib/compass/commands/clean_project.rb +79 -79
  245. data/lib/compass/commands/create_project.rb +131 -131
  246. data/lib/compass/commands/default.rb +50 -50
  247. data/lib/compass/commands/extension_command.rb +60 -60
  248. data/lib/compass/commands/generate_grid_background.rb +96 -96
  249. data/lib/compass/commands/help.rb +85 -85
  250. data/lib/compass/commands/imports.rb +35 -35
  251. data/lib/compass/commands/installer_command.rb +32 -32
  252. data/lib/compass/commands/interactive.rb +61 -61
  253. data/lib/compass/commands/list_frameworks.rb +38 -38
  254. data/lib/compass/commands/print_version.rb +99 -99
  255. data/lib/compass/commands/project_base.rb +103 -103
  256. data/lib/compass/commands/project_stats.rb +178 -178
  257. data/lib/compass/commands/project_structure.rb +93 -93
  258. data/lib/compass/commands/registry.rb +40 -40
  259. data/lib/compass/commands/sprite.rb +89 -89
  260. data/lib/compass/commands/stamp_pattern.rb +90 -90
  261. data/lib/compass/commands/unpack_extension.rb +120 -120
  262. data/lib/compass/commands/update_project.rb +139 -139
  263. data/lib/compass/commands/validate_project.rb +77 -77
  264. data/lib/compass/commands/watch_project.rb +170 -170
  265. data/lib/compass/commands/write_configuration.rb +125 -125
  266. data/lib/compass/compiler.rb +200 -200
  267. data/lib/compass/configuration.rb +91 -91
  268. data/lib/compass/configuration/adapters.rb +77 -77
  269. data/lib/compass/configuration/comments.rb +59 -59
  270. data/lib/compass/configuration/data.rb +193 -193
  271. data/lib/compass/configuration/defaults.rb +187 -187
  272. data/lib/compass/configuration/file_data.rb +21 -21
  273. data/lib/compass/configuration/helpers.rb +160 -160
  274. data/lib/compass/configuration/inheritance.rb +304 -304
  275. data/lib/compass/configuration/paths.rb +19 -19
  276. data/lib/compass/configuration/serialization.rb +88 -88
  277. data/lib/compass/dependencies.rb +12 -12
  278. data/lib/compass/errors.rb +11 -11
  279. data/lib/compass/exec.rb +23 -23
  280. data/lib/compass/exec/command_option_parser.rb +23 -23
  281. data/lib/compass/exec/global_options_parser.rb +63 -63
  282. data/lib/compass/exec/helpers.rb +21 -21
  283. data/lib/compass/exec/project_options_parser.rb +66 -66
  284. data/lib/compass/exec/sub_command_ui.rb +51 -51
  285. data/lib/compass/exec/switch_ui.rb +179 -179
  286. data/lib/compass/frameworks.rb +133 -133
  287. data/lib/compass/grid_builder.rb +102 -102
  288. data/lib/compass/installers.rb +3 -3
  289. data/lib/compass/installers/bare_installer.rb +58 -58
  290. data/lib/compass/installers/base.rb +187 -187
  291. data/lib/compass/installers/manifest.rb +161 -161
  292. data/lib/compass/installers/manifest_installer.rb +61 -61
  293. data/lib/compass/installers/template_context.rb +43 -43
  294. data/lib/compass/logger.rb +103 -103
  295. data/lib/compass/quick_cache.rb +15 -15
  296. data/lib/compass/rails.rb +2 -2
  297. data/lib/compass/sass_extensions.rb +10 -10
  298. data/lib/compass/sass_extensions/functions.rb +34 -34
  299. data/lib/compass/sass_extensions/functions/colors.rb +67 -67
  300. data/lib/compass/sass_extensions/functions/constants.rb +74 -74
  301. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +70 -70
  302. data/lib/compass/sass_extensions/functions/display.rb +27 -27
  303. data/lib/compass/sass_extensions/functions/enumerate.rb +6 -6
  304. data/lib/compass/sass_extensions/functions/env.rb +5 -5
  305. data/lib/compass/sass_extensions/functions/font_files.rb +41 -41
  306. data/lib/compass/sass_extensions/functions/gradient_support.rb +540 -540
  307. data/lib/compass/sass_extensions/functions/image_size.rb +113 -113
  308. data/lib/compass/sass_extensions/functions/inline_image.rb +64 -64
  309. data/lib/compass/sass_extensions/functions/lists.rb +101 -101
  310. data/lib/compass/sass_extensions/functions/math.rb +63 -63
  311. data/lib/compass/sass_extensions/functions/selectors.rb +63 -63
  312. data/lib/compass/sass_extensions/functions/sprites.rb +218 -218
  313. data/lib/compass/sass_extensions/functions/urls.rb +266 -266
  314. data/lib/compass/sass_extensions/monkey_patches.rb +3 -3
  315. data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +95 -95
  316. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +23 -23
  317. data/lib/compass/sass_extensions/sprites.rb +19 -19
  318. data/lib/compass/sass_extensions/sprites/engines.rb +25 -25
  319. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +30 -30
  320. data/lib/compass/sass_extensions/sprites/image.rb +151 -151
  321. data/lib/compass/sass_extensions/sprites/image_methods.rb +31 -31
  322. data/lib/compass/sass_extensions/sprites/image_row.rb +46 -46
  323. data/lib/compass/sass_extensions/sprites/layout_methods.rb +158 -158
  324. data/lib/compass/sass_extensions/sprites/row_fitter.rb +91 -91
  325. data/lib/compass/sass_extensions/sprites/sprite_map.rb +86 -86
  326. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +141 -141
  327. data/lib/compass/sprite_importer.rb +116 -116
  328. data/lib/compass/sprite_importer/binding.rb +10 -10
  329. data/lib/compass/sprite_importer/content.erb +80 -80
  330. data/lib/compass/stats.rb +99 -99
  331. data/lib/compass/test_case.rb +38 -38
  332. data/lib/compass/util.rb +29 -29
  333. data/lib/compass/validator.rb +16 -16
  334. data/lib/compass/version.rb +60 -60
  335. data/test/fixtures/extensions/only_stylesheets/compass_init.rb +1 -1
  336. data/test/fixtures/extensions/only_stylesheets/scss/only_stylesheets/foo.scss +3 -3
  337. data/test/fixtures/fonts/bgrove.base64.txt +1 -1
  338. data/test/fixtures/fonts/bgrove.ttf +0 -0
  339. data/test/fixtures/sprites/public/images/ko/starbg26x27.png +0 -0
  340. data/test/fixtures/stylesheets/blueprint/config.rb +14 -14
  341. data/test/fixtures/stylesheets/blueprint/css/ie.css +76 -76
  342. data/test/fixtures/stylesheets/blueprint/css/print.css +56 -56
  343. data/test/fixtures/stylesheets/blueprint/css/screen.css +815 -815
  344. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +56 -56
  345. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +80 -80
  346. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +11 -11
  347. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +30 -30
  348. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +42 -42
  349. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +435 -435
  350. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +76 -76
  351. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +46 -46
  352. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +40 -40
  353. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +651 -651
  354. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +60 -60
  355. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +75 -75
  356. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +42 -42
  357. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +437 -437
  358. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +45 -45
  359. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +146 -146
  360. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +35 -35
  361. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +3 -3
  362. data/test/fixtures/stylesheets/blueprint/sass/print.sass +3 -3
  363. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +18 -18
  364. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +3 -3
  365. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +34 -34
  366. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +3 -3
  367. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +3 -3
  368. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +4 -4
  369. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +2 -2
  370. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +2 -2
  371. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +3 -3
  372. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +12 -12
  373. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +2 -2
  374. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +4 -4
  375. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +4 -4
  376. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +1 -1
  377. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +2 -2
  378. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +5 -5
  379. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +3 -3
  380. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +3 -3
  381. data/test/fixtures/stylesheets/busted_image_urls/config.rb +29 -29
  382. data/test/fixtures/stylesheets/busted_image_urls/css/screen.css +9 -9
  383. data/test/fixtures/stylesheets/busted_image_urls/sass/screen.sass +13 -13
  384. data/test/fixtures/stylesheets/compass/config.rb +16 -16
  385. data/test/fixtures/stylesheets/compass/css/background-clip.css +10 -10
  386. data/test/fixtures/stylesheets/compass/css/border_radius.css +14 -14
  387. data/test/fixtures/stylesheets/compass/css/box-sizeing.css +9 -9
  388. data/test/fixtures/stylesheets/compass/css/box.css +103 -103
  389. data/test/fixtures/stylesheets/compass/css/box_shadow.css +14 -14
  390. data/test/fixtures/stylesheets/compass/css/columns.css +161 -161
  391. data/test/fixtures/stylesheets/compass/css/filters.css +29 -29
  392. data/test/fixtures/stylesheets/compass/css/fonts.css +4 -4
  393. data/test/fixtures/stylesheets/compass/css/force-wrap.css +9 -9
  394. data/test/fixtures/stylesheets/compass/css/gradients.css +202 -202
  395. data/test/fixtures/stylesheets/compass/css/grid_background.css +71 -71
  396. data/test/fixtures/stylesheets/compass/css/hyphenation.css +16 -16
  397. data/test/fixtures/stylesheets/compass/css/image_size.css +15 -15
  398. data/test/fixtures/stylesheets/compass/css/images.css +8 -8
  399. data/test/fixtures/stylesheets/compass/css/layout.css +16 -16
  400. data/test/fixtures/stylesheets/compass/css/legacy_clearfix.css +26 -26
  401. data/test/fixtures/stylesheets/compass/css/lists.css +151 -151
  402. data/test/fixtures/stylesheets/compass/css/opacity.css +3 -3
  403. data/test/fixtures/stylesheets/compass/css/pie.css +26 -26
  404. data/test/fixtures/stylesheets/compass/css/print.css +11 -11
  405. data/test/fixtures/stylesheets/compass/css/regions.css +7 -7
  406. data/test/fixtures/stylesheets/compass/css/replacement.css +59 -59
  407. data/test/fixtures/stylesheets/compass/css/reset.css +59 -59
  408. data/test/fixtures/stylesheets/compass/css/sprites.css +1262 -1262
  409. data/test/fixtures/stylesheets/compass/css/stretching.css +66 -66
  410. data/test/fixtures/stylesheets/compass/css/text_shadow.css +29 -29
  411. data/test/fixtures/stylesheets/compass/css/transform.css +441 -441
  412. data/test/fixtures/stylesheets/compass/css/transition.css +128 -128
  413. data/test/fixtures/stylesheets/compass/css/user-interface.css +4 -4
  414. data/test/fixtures/stylesheets/compass/css/utilities.css +56 -56
  415. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +45 -45
  416. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +7 -7
  417. data/test/fixtures/stylesheets/compass/sass/border_radius.scss +5 -5
  418. data/test/fixtures/stylesheets/compass/sass/box-sizeing.scss +7 -7
  419. data/test/fixtures/stylesheets/compass/sass/box.sass +49 -49
  420. data/test/fixtures/stylesheets/compass/sass/box_shadow.scss +5 -5
  421. data/test/fixtures/stylesheets/compass/sass/columns.scss +28 -28
  422. data/test/fixtures/stylesheets/compass/sass/filters.scss +24 -24
  423. data/test/fixtures/stylesheets/compass/sass/fonts.sass +2 -2
  424. data/test/fixtures/stylesheets/compass/sass/force-wrap.scss +3 -3
  425. data/test/fixtures/stylesheets/compass/sass/gradients.sass +96 -96
  426. data/test/fixtures/stylesheets/compass/sass/grid_background.scss +33 -33
  427. data/test/fixtures/stylesheets/compass/sass/hyphenation.scss +10 -10
  428. data/test/fixtures/stylesheets/compass/sass/image_size.sass +15 -15
  429. data/test/fixtures/stylesheets/compass/sass/images.scss +8 -8
  430. data/test/fixtures/stylesheets/compass/sass/layout.sass +3 -3
  431. data/test/fixtures/stylesheets/compass/sass/legacy_clearfix.scss +14 -14
  432. data/test/fixtures/stylesheets/compass/sass/lists.scss +11 -11
  433. data/test/fixtures/stylesheets/compass/sass/opacity.scss +5 -5
  434. data/test/fixtures/stylesheets/compass/sass/pie.scss +47 -47
  435. data/test/fixtures/stylesheets/compass/sass/print.sass +5 -5
  436. data/test/fixtures/stylesheets/compass/sass/regions.scss +3 -3
  437. data/test/fixtures/stylesheets/compass/sass/replacement.scss +22 -22
  438. data/test/fixtures/stylesheets/compass/sass/reset.sass +12 -12
  439. data/test/fixtures/stylesheets/compass/sass/sprites.scss +13 -13
  440. data/test/fixtures/stylesheets/compass/sass/stretching.sass +33 -33
  441. data/test/fixtures/stylesheets/compass/sass/text_shadow.scss +11 -11
  442. data/test/fixtures/stylesheets/compass/sass/transform.scss +87 -87
  443. data/test/fixtures/stylesheets/compass/sass/transition.scss +24 -24
  444. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +4 -4
  445. data/test/fixtures/stylesheets/compass/sass/utilities.scss +20 -20
  446. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +15 -15
  447. data/test/fixtures/stylesheets/envtest/config.rb +9 -9
  448. data/test/fixtures/stylesheets/envtest/css/env.css +2 -2
  449. data/test/fixtures/stylesheets/envtest/sass/env.scss +3 -3
  450. data/test/fixtures/stylesheets/error/config.rb +10 -10
  451. data/test/fixtures/stylesheets/error/sass/screen.sass +2 -2
  452. data/test/fixtures/stylesheets/image_urls/config.rb +19 -19
  453. data/test/fixtures/stylesheets/image_urls/css/screen.css +5 -5
  454. data/test/fixtures/stylesheets/image_urls/sass/screen.sass +8 -8
  455. data/test/fixtures/stylesheets/relative/config.rb +10 -10
  456. data/test/fixtures/stylesheets/relative/css/ie.css +1 -1
  457. data/test/fixtures/stylesheets/relative/css/print.css +1 -1
  458. data/test/fixtures/stylesheets/relative/css/screen.css +1 -1
  459. data/test/fixtures/stylesheets/relative/sass/ie.sass +5 -5
  460. data/test/fixtures/stylesheets/relative/sass/print.sass +3 -3
  461. data/test/fixtures/stylesheets/relative/sass/screen.sass +2 -2
  462. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/config.rb +25 -25
  463. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/ie.scss +5 -5
  464. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/print.scss +3 -3
  465. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/screen.scss +6 -6
  466. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/ie.css +5 -5
  467. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/print.css +3 -3
  468. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/screen.css +68 -68
  469. data/test/fixtures/stylesheets/valid/config.rb +9 -9
  470. data/test/fixtures/stylesheets/valid/sass/simple.sass +1 -1
  471. data/test/helpers/command_line.rb +114 -114
  472. data/test/helpers/diff.rb +48 -48
  473. data/test/helpers/io.rb +36 -36
  474. data/test/helpers/rails.rb +55 -55
  475. data/test/helpers/test_case.rb +62 -62
  476. data/test/integrations/compass_test.rb +224 -224
  477. data/test/integrations/sprites_test.rb +843 -843
  478. data/test/test_helper.rb +73 -73
  479. data/test/units/actions_test.rb +23 -23
  480. data/test/units/command_line_test.rb +60 -60
  481. data/test/units/compass_module_test.rb +36 -36
  482. data/test/units/compass_png_test.rb +45 -45
  483. data/test/units/compiler_test.rb +10 -10
  484. data/test/units/configuration_test.rb +440 -440
  485. data/test/units/regressions_test.rb +35 -35
  486. data/test/units/sass_extensions_test.rb +198 -198
  487. data/test/units/sprites/engine_test.rb +47 -47
  488. data/test/units/sprites/image_row_test.rb +57 -57
  489. data/test/units/sprites/image_test.rb +99 -99
  490. data/test/units/sprites/importer_test.rb +90 -90
  491. data/test/units/sprites/layout_test.rb +154 -154
  492. data/test/units/sprites/row_fitter_test.rb +65 -65
  493. data/test/units/sprites/sprite_command_test.rb +54 -54
  494. data/test/units/sprites/sprite_map_test.rb +130 -130
  495. metadata +1304 -1310
@@ -1,155 +1,155 @@
1
- require 'test_helper'
2
-
3
- class LayoutTest < Test::Unit::TestCase
4
- include SpriteHelper
5
-
6
- def setup
7
- Hash.send(:include, Compass::SassExtensions::Functions::Sprites::VariableReader)
8
- clean_up_sprites
9
- create_sprite_temp
10
- file = StringIO.new("images_path = #{@images_tmp_path.inspect}\n")
11
- Compass.add_configuration(file, "sprite_config")
12
- Compass.configure_sass_plugin!
13
- @options = {'cleanup' => Sass::Script::Bool.new(true), 'layout' => Sass::Script::String.new('vertical')}
14
- end
15
-
16
- def teardown
17
- clean_up_sprites
18
- end
19
-
20
- # HELPERS
21
-
22
- def vertical
23
- opts = @options.merge("layout" => Sass::Script::String.new('vertical'))
24
-
25
- sprite_map_test(opts)
26
- end
27
-
28
- def smart
29
- options = @options.merge("layout" => Sass::Script::String.new('smart'))
30
- importer = Compass::SpriteImporter.new
31
- uri = "image_row/*.png"
32
- path, name = Compass::SpriteImporter.path_and_name(uri)
33
- sprite_names = Compass::SpriteImporter.sprite_names(uri)
34
- sass_engine = Compass::SpriteImporter.sass_engine(uri, name, importer, options)
35
- map = Compass::SassExtensions::Sprites::SpriteMap.new(sprite_names.map {|n| "image_row/#{n}.png"}, path, name, sass_engine, options)
36
- map.options = {:compass => {:logger => Compass::NullLogger.new}}
37
-
38
- map
39
- end
40
-
41
- def diagonal
42
- opts = @options.merge("layout" => Sass::Script::String.new('diagonal'))
43
-
44
- sprite_map_test(opts)
45
- end
46
-
47
- def horizontal(options= {})
48
- opts = @options.merge("layout" => Sass::Script::String.new('horizontal'))
49
- opts.merge!(options)
50
-
51
- sprite_map_test(opts)
52
- end
53
-
54
- # REPEAT_X
55
-
56
- test 'repeat-x layout single image' do
57
- opts = {"repeat_x_three_repeat" => Sass::Script::String.new('repeat-x')}
58
- map = sprite_map_test(@options.merge(opts), 'repeat_x/*.png')
59
- assert_equal 6, map.width
60
- assert_equal [0, 4, 7, 9, 14, 4, 4], map.images.map(&:top)
61
- assert_equal [0, 0, 0, 0, 0, 0, 3], map.images.map(&:left)
62
- end
63
-
64
- test 'repeat-x layout multi image' do
65
- opts = {"repeat_x_three_repeat" => Sass::Script::String.new('repeat-x'), "repeat_x_four_repeat" => Sass::Script::String.new('repeat-x')}
66
- map = sprite_map_test(@options.merge(opts), 'repeat_x/*.png')
67
- assert_equal 12, map.width
68
- end
69
-
70
- # VERTICAL LAYOUT
71
-
72
- it "should have a vertical layout" do
73
- vert = vertical
74
- assert_equal [0, 10, 20, 30], vert.images.map(&:top)
75
- assert_equal [0, 0, 0, 0], vert.images.map(&:left)
76
- assert vert.vertical?
77
- end
78
-
79
- it "should have a vertical layout with spacing" do
80
- vert = sprite_map_test(@options.merge({"spacing" => Sass::Script::Number.new(10, ['px'])}))
81
- assert_equal [0, 20, 40, 60], vert.images.map(&:top)
82
- end
83
-
84
- it "should layout vertical with position" do
85
- vert = sprite_map_test("selectors_ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
86
- assert_equal [0, 10, 0, 0], vert.images.map(&:left)
87
- end
88
-
89
- it "should generate vertical sprites in decending order" do
90
- sizes = vertical.images.map{|image| File.size(image.file) }
91
- assert_equal sizes.min, File.size(vertical.images.first.file)
92
- assert_equal sizes.max, File.size(vertical.images.last.file)
93
- end
94
-
95
- # SMART LAYOUT
96
-
97
- it "should have a smart layout" do
98
- base = smart
99
- base.generate
100
- assert base.smart?
101
- assert_equal 400, base.width
102
- assert_equal 60, base.height
103
- assert_equal [[0, 0], [20, 120], [20, 0], [20, 100], [20, 160]], base.images.map {|i| [i.top, i.left]}
104
- assert File.exists?(base.filename)
105
- FileUtils.rm base.filename
106
- end
107
-
108
- # DIAGONAL LAYOUT
109
-
110
- it "should generate a diagonal sprite" do
111
- base = diagonal
112
- base.generate
113
- assert base.diagonal?
114
- assert_equal 40, base.width
115
- assert_equal 40, base.height
116
- assert_equal [[30, 0], [20, 10], [10, 20], [0, 30]], base.images.map {|i| [i.top, i.left]}
117
- assert File.exists?(base.filename)
118
- FileUtils.rm base.filename
119
- end
120
-
121
- # HORIZONTAL LAYOUT
122
-
123
- it "should have a horizontal layout" do
124
- base = horizontal
125
- assert base.horizontal?
126
- assert_equal 10, base.height
127
- assert_equal 40, base.width
128
- end
129
-
130
- it "should layout images horizontaly" do
131
- base = horizontal
132
- assert_equal [0, 10, 20, 30], base.images.map(&:left)
133
- assert_equal [0, 0, 0, 0], base.images.map(&:top)
134
- end
135
-
136
- it "should layout horizontaly with spacing" do
137
- base = horizontal("spacing" => Sass::Script::Number.new(10, ['px']))
138
- assert_equal [0, 20, 40, 60], base.images.map(&:left)
139
- assert_equal [0, 0, 0, 0], base.images.map(&:top)
140
- assert_equal 80, base.width
141
- end
142
-
143
- it "should layout horizontaly with position" do
144
- base = horizontal("selectors_ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
145
- assert_equal [0, 10, 0, 0], base.images.map(&:top)
146
- end
147
-
148
- it "should generate a horrizontal sprite" do
149
- base = horizontal
150
- base.generate
151
- assert File.exists?(base.filename)
152
- FileUtils.rm base.filename
153
- end
154
-
1
+ require 'test_helper'
2
+
3
+ class LayoutTest < Test::Unit::TestCase
4
+ include SpriteHelper
5
+
6
+ def setup
7
+ Hash.send(:include, Compass::SassExtensions::Functions::Sprites::VariableReader)
8
+ clean_up_sprites
9
+ create_sprite_temp
10
+ file = StringIO.new("images_path = #{@images_tmp_path.inspect}\n")
11
+ Compass.add_configuration(file, "sprite_config")
12
+ Compass.configure_sass_plugin!
13
+ @options = {'cleanup' => Sass::Script::Bool.new(true), 'layout' => Sass::Script::String.new('vertical')}
14
+ end
15
+
16
+ def teardown
17
+ clean_up_sprites
18
+ end
19
+
20
+ # HELPERS
21
+
22
+ def vertical
23
+ opts = @options.merge("layout" => Sass::Script::String.new('vertical'))
24
+
25
+ sprite_map_test(opts)
26
+ end
27
+
28
+ def smart
29
+ options = @options.merge("layout" => Sass::Script::String.new('smart'))
30
+ importer = Compass::SpriteImporter.new
31
+ uri = "image_row/*.png"
32
+ path, name = Compass::SpriteImporter.path_and_name(uri)
33
+ sprite_names = Compass::SpriteImporter.sprite_names(uri)
34
+ sass_engine = Compass::SpriteImporter.sass_engine(uri, name, importer, options)
35
+ map = Compass::SassExtensions::Sprites::SpriteMap.new(sprite_names.map {|n| "image_row/#{n}.png"}, path, name, sass_engine, options)
36
+ map.options = {:compass => {:logger => Compass::NullLogger.new}}
37
+
38
+ map
39
+ end
40
+
41
+ def diagonal
42
+ opts = @options.merge("layout" => Sass::Script::String.new('diagonal'))
43
+
44
+ sprite_map_test(opts)
45
+ end
46
+
47
+ def horizontal(options= {})
48
+ opts = @options.merge("layout" => Sass::Script::String.new('horizontal'))
49
+ opts.merge!(options)
50
+
51
+ sprite_map_test(opts)
52
+ end
53
+
54
+ # REPEAT_X
55
+
56
+ test 'repeat-x layout single image' do
57
+ opts = {"repeat_x_three_repeat" => Sass::Script::String.new('repeat-x')}
58
+ map = sprite_map_test(@options.merge(opts), 'repeat_x/*.png')
59
+ assert_equal 6, map.width
60
+ assert_equal [0, 4, 7, 9, 14, 4, 4], map.images.map(&:top)
61
+ assert_equal [0, 0, 0, 0, 0, 0, 3], map.images.map(&:left)
62
+ end
63
+
64
+ test 'repeat-x layout multi image' do
65
+ opts = {"repeat_x_three_repeat" => Sass::Script::String.new('repeat-x'), "repeat_x_four_repeat" => Sass::Script::String.new('repeat-x')}
66
+ map = sprite_map_test(@options.merge(opts), 'repeat_x/*.png')
67
+ assert_equal 12, map.width
68
+ end
69
+
70
+ # VERTICAL LAYOUT
71
+
72
+ it "should have a vertical layout" do
73
+ vert = vertical
74
+ assert_equal [0, 10, 20, 30], vert.images.map(&:top)
75
+ assert_equal [0, 0, 0, 0], vert.images.map(&:left)
76
+ assert vert.vertical?
77
+ end
78
+
79
+ it "should have a vertical layout with spacing" do
80
+ vert = sprite_map_test(@options.merge({"spacing" => Sass::Script::Number.new(10, ['px'])}))
81
+ assert_equal [0, 20, 40, 60], vert.images.map(&:top)
82
+ end
83
+
84
+ it "should layout vertical with position" do
85
+ vert = sprite_map_test("selectors_ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
86
+ assert_equal [0, 10, 0, 0], vert.images.map(&:left)
87
+ end
88
+
89
+ it "should generate vertical sprites in decending order" do
90
+ sizes = vertical.images.map{|image| File.size(image.file) }
91
+ assert_equal sizes.min, File.size(vertical.images.first.file)
92
+ assert_equal sizes.max, File.size(vertical.images.last.file)
93
+ end
94
+
95
+ # SMART LAYOUT
96
+
97
+ it "should have a smart layout" do
98
+ base = smart
99
+ base.generate
100
+ assert base.smart?
101
+ assert_equal 400, base.width
102
+ assert_equal 60, base.height
103
+ assert_equal [[0, 0], [20, 120], [20, 0], [20, 100], [20, 160]], base.images.map {|i| [i.top, i.left]}
104
+ assert File.exists?(base.filename)
105
+ FileUtils.rm base.filename
106
+ end
107
+
108
+ # DIAGONAL LAYOUT
109
+
110
+ it "should generate a diagonal sprite" do
111
+ base = diagonal
112
+ base.generate
113
+ assert base.diagonal?
114
+ assert_equal 40, base.width
115
+ assert_equal 40, base.height
116
+ assert_equal [[30, 0], [20, 10], [10, 20], [0, 30]], base.images.map {|i| [i.top, i.left]}
117
+ assert File.exists?(base.filename)
118
+ FileUtils.rm base.filename
119
+ end
120
+
121
+ # HORIZONTAL LAYOUT
122
+
123
+ it "should have a horizontal layout" do
124
+ base = horizontal
125
+ assert base.horizontal?
126
+ assert_equal 10, base.height
127
+ assert_equal 40, base.width
128
+ end
129
+
130
+ it "should layout images horizontaly" do
131
+ base = horizontal
132
+ assert_equal [0, 10, 20, 30], base.images.map(&:left)
133
+ assert_equal [0, 0, 0, 0], base.images.map(&:top)
134
+ end
135
+
136
+ it "should layout horizontaly with spacing" do
137
+ base = horizontal("spacing" => Sass::Script::Number.new(10, ['px']))
138
+ assert_equal [0, 20, 40, 60], base.images.map(&:left)
139
+ assert_equal [0, 0, 0, 0], base.images.map(&:top)
140
+ assert_equal 80, base.width
141
+ end
142
+
143
+ it "should layout horizontaly with position" do
144
+ base = horizontal("selectors_ten_by_ten_active_position" => Sass::Script::Number.new(10, ['px']))
145
+ assert_equal [0, 10, 0, 0], base.images.map(&:top)
146
+ end
147
+
148
+ it "should generate a horrizontal sprite" do
149
+ base = horizontal
150
+ base.generate
151
+ assert File.exists?(base.filename)
152
+ FileUtils.rm base.filename
153
+ end
154
+
155
155
  end
@@ -1,66 +1,66 @@
1
- require 'test_helper'
2
- require 'compass/sass_extensions/sprites/row_fitter'
3
-
4
- class RowFitterTest < Test::Unit::TestCase
5
- include SpriteHelper
6
- def setup
7
- file = StringIO.new("images_path = #{@images_src_path.inspect}\n")
8
- Compass.add_configuration(file, "sprite_config")
9
- end
10
-
11
- def row_fitter(images = nil)
12
- @row_fitter ||= Compass::SassExtensions::Sprites::RowFitter.new(images)
13
- end
14
-
15
- def teardown
16
- @row_fitter = nil
17
- end
18
-
19
- def create_images(dims)
20
- dims.collect { |width, height|
21
- image = Compass::SassExtensions::Sprites::Image.new('blah', 'blah', {})
22
- image.stubs(:width => width, :height => height)
23
- image
24
- }
25
- end
26
-
27
- def basic_dims
28
- [
29
- [ 100, 10 ],
30
- [ 80, 10 ],
31
- [ 50, 10 ],
32
- [ 35, 10 ],
33
- [ 20, 10 ]
34
- ]
35
- end
36
-
37
- it 'should use the fast placement algorithm' do
38
- images = create_images(basic_dims)
39
-
40
- row_fitter(images)
41
- assert_equal 100, row_fitter.width
42
-
43
- row_fitter.fit!(:fast)
44
-
45
- assert_equal 4, row_fitter.rows.length
46
-
47
- assert_equal [ images[0] ], row_fitter[0].images
48
- assert_equal [ images[1] ], row_fitter[1].images
49
- assert_equal [ images[2], images[3] ], row_fitter[2].images
50
- assert_equal [ images[4] ], row_fitter[3].images
51
- end
52
-
53
- it 'should use the scan placement algorithm' do
54
- images = create_images(basic_dims)
55
-
56
- row_fitter(images)
57
-
58
- row_fitter.fit!(:scan)
59
-
60
- assert_equal 3, row_fitter.rows.length
61
-
62
- assert_equal [ images[0] ], row_fitter[0].images
63
- assert_equal [ images[1], images[4] ], row_fitter[1].images
64
- assert_equal [ images[2], images[3] ], row_fitter[2].images
65
- end
1
+ require 'test_helper'
2
+ require 'compass/sass_extensions/sprites/row_fitter'
3
+
4
+ class RowFitterTest < Test::Unit::TestCase
5
+ include SpriteHelper
6
+ def setup
7
+ file = StringIO.new("images_path = #{@images_src_path.inspect}\n")
8
+ Compass.add_configuration(file, "sprite_config")
9
+ end
10
+
11
+ def row_fitter(images = nil)
12
+ @row_fitter ||= Compass::SassExtensions::Sprites::RowFitter.new(images)
13
+ end
14
+
15
+ def teardown
16
+ @row_fitter = nil
17
+ end
18
+
19
+ def create_images(dims)
20
+ dims.collect { |width, height|
21
+ image = Compass::SassExtensions::Sprites::Image.new('blah', 'blah', {})
22
+ image.stubs(:width => width, :height => height)
23
+ image
24
+ }
25
+ end
26
+
27
+ def basic_dims
28
+ [
29
+ [ 100, 10 ],
30
+ [ 80, 10 ],
31
+ [ 50, 10 ],
32
+ [ 35, 10 ],
33
+ [ 20, 10 ]
34
+ ]
35
+ end
36
+
37
+ it 'should use the fast placement algorithm' do
38
+ images = create_images(basic_dims)
39
+
40
+ row_fitter(images)
41
+ assert_equal 100, row_fitter.width
42
+
43
+ row_fitter.fit!(:fast)
44
+
45
+ assert_equal 4, row_fitter.rows.length
46
+
47
+ assert_equal [ images[0] ], row_fitter[0].images
48
+ assert_equal [ images[1] ], row_fitter[1].images
49
+ assert_equal [ images[2], images[3] ], row_fitter[2].images
50
+ assert_equal [ images[4] ], row_fitter[3].images
51
+ end
52
+
53
+ it 'should use the scan placement algorithm' do
54
+ images = create_images(basic_dims)
55
+
56
+ row_fitter(images)
57
+
58
+ row_fitter.fit!(:scan)
59
+
60
+ assert_equal 3, row_fitter.rows.length
61
+
62
+ assert_equal [ images[0] ], row_fitter[0].images
63
+ assert_equal [ images[1], images[4] ], row_fitter[1].images
64
+ assert_equal [ images[2], images[3] ], row_fitter[2].images
65
+ end
66
66
  end
@@ -1,55 +1,55 @@
1
- require 'test_helper'
2
- require 'compass/exec'
3
- class SpriteCommandTest < Test::Unit::TestCase
4
- include Compass::TestCaseHelper
5
- include Compass::CommandLineHelper
6
- include Compass::IoHelper
7
-
8
- attr_reader :test_dir
9
- include SpriteHelper
10
- def setup
11
- @before_dir = ::Dir.pwd
12
- create_temp_cli_dir
13
- create_sprite_temp
14
- @config_file = File.join(@test_dir, 'config.rb')
15
- File.open(@config_file, 'w') do |f|
16
- f << config_data
17
- end
18
- end
19
-
20
- def config_data
21
- return <<-CONFIG
22
- images_path = "#{@images_tmp_path}"
23
- CONFIG
24
- end
25
-
26
- def create_temp_cli_dir
27
- directory = File.join(File.expand_path('../', __FILE__), 'test')
28
- ::FileUtils.mkdir_p directory
29
- @test_dir = directory
30
- end
31
-
32
- def run_compass_with_options(options)
33
- output = 'foo'
34
- ::Dir.chdir @test_dir
35
- compass *options
36
- end
37
-
38
- def options_to_cli(options)
39
- options.map.flatten!
40
- end
41
-
42
- def teardown
43
- ::Dir.chdir @before_dir
44
- clean_up_sprites
45
- if File.exists?(@test_dir)
46
- ::FileUtils.rm_r @test_dir
47
- end
48
- end
49
-
50
- it "should create sprite file" do
51
- assert_equal 0, run_compass_with_options(['sprite', "-f", 'stylesheet.scss', "squares/*.png"]).to_i
52
- assert File.exists?(File.join(test_dir, 'stylesheet.scss'))
53
- end
54
-
1
+ require 'test_helper'
2
+ require 'compass/exec'
3
+ class SpriteCommandTest < Test::Unit::TestCase
4
+ include Compass::TestCaseHelper
5
+ include Compass::CommandLineHelper
6
+ include Compass::IoHelper
7
+
8
+ attr_reader :test_dir
9
+ include SpriteHelper
10
+ def setup
11
+ @before_dir = ::Dir.pwd
12
+ create_temp_cli_dir
13
+ create_sprite_temp
14
+ @config_file = File.join(@test_dir, 'config.rb')
15
+ File.open(@config_file, 'w') do |f|
16
+ f << config_data
17
+ end
18
+ end
19
+
20
+ def config_data
21
+ return <<-CONFIG
22
+ images_path = "#{@images_tmp_path}"
23
+ CONFIG
24
+ end
25
+
26
+ def create_temp_cli_dir
27
+ directory = File.join(File.expand_path('../', __FILE__), 'test')
28
+ ::FileUtils.mkdir_p directory
29
+ @test_dir = directory
30
+ end
31
+
32
+ def run_compass_with_options(options)
33
+ output = 'foo'
34
+ ::Dir.chdir @test_dir
35
+ compass *options
36
+ end
37
+
38
+ def options_to_cli(options)
39
+ options.map.flatten!
40
+ end
41
+
42
+ def teardown
43
+ ::Dir.chdir @before_dir
44
+ clean_up_sprites
45
+ if File.exists?(@test_dir)
46
+ ::FileUtils.rm_r @test_dir
47
+ end
48
+ end
49
+
50
+ it "should create sprite file" do
51
+ assert_equal 0, run_compass_with_options(['sprite', "-f", 'stylesheet.scss', "squares/*.png"]).to_i
52
+ assert File.exists?(File.join(test_dir, 'stylesheet.scss'))
53
+ end
54
+
55
55
  end