sproutcore 1.0.1003 → 1.0.1008

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. data/Buildfile +15 -3
  2. data/Rakefile +3 -7
  3. data/VERSION.yml +2 -2
  4. data/buildtasks/manifest.rake +2 -0
  5. data/frameworks/sproutcore/Buildfile +2 -0
  6. data/frameworks/sproutcore/HISTORY +218 -203
  7. data/frameworks/sproutcore/README +47 -6
  8. data/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +4 -0
  9. data/frameworks/sproutcore/design/Design Charts.graffle +2945 -4332
  10. data/frameworks/sproutcore/frameworks/bootstrap/README +9 -0
  11. data/frameworks/sproutcore/frameworks/bootstrap/core.js +7 -0
  12. data/frameworks/sproutcore/frameworks/bootstrap/setup_body_class_names.js +10 -0
  13. data/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +28 -0
  14. data/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +45 -0
  15. data/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +9 -8
  16. data/frameworks/sproutcore/frameworks/datastore/models/record.js +49 -9
  17. data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +9 -0
  18. data/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +3 -2
  19. data/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +81 -8
  20. data/frameworks/sproutcore/frameworks/datastore/system/query.js +26 -5
  21. data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +47 -0
  22. data/frameworks/sproutcore/frameworks/datastore/system/store.js +164 -32
  23. data/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +32 -4
  24. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/error_methods.js +56 -0
  25. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +1 -1
  26. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +15 -0
  27. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +16 -1
  28. data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
  29. data/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +22 -1
  30. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +32 -1
  31. data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/core_methods.js +70 -0
  32. data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +12 -0
  33. data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/error_methods.js +50 -0
  34. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +9 -9
  35. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +8 -1
  36. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +79 -0
  37. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +24 -0
  38. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/error_methods.js +62 -0
  39. data/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js +2 -0
  40. data/frameworks/sproutcore/frameworks/debug/core.js +10 -6
  41. data/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +43 -18
  42. data/frameworks/sproutcore/frameworks/designer/core.js +10 -0
  43. data/frameworks/sproutcore/frameworks/designer/english.lproj/selection_handles.css +58 -0
  44. data/frameworks/sproutcore/frameworks/designer/{views/mixins → mixins}/button.js +0 -0
  45. data/frameworks/sproutcore/frameworks/designer/views/{controls/button.js → button.js} +6 -2
  46. data/frameworks/sproutcore/frameworks/designer/views/designer.js +566 -136
  47. data/frameworks/sproutcore/frameworks/designer/views/selection_handles.js +77 -0
  48. data/frameworks/sproutcore/frameworks/desktop/core.js +12 -0
  49. data/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +1 -1
  50. data/frameworks/sproutcore/frameworks/desktop/english.lproj/drag.css +3 -2
  51. data/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +0 -36
  52. data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu.css +14 -0
  53. data/frameworks/sproutcore/frameworks/desktop/english.lproj/modal.css +4 -0
  54. data/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +2 -0
  55. data/frameworks/sproutcore/frameworks/desktop/english.lproj/tab.css +0 -4
  56. data/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +8 -5
  57. data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +2 -2
  58. data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +100 -111
  59. data/frameworks/sproutcore/frameworks/desktop/panes/panel.js +1 -1
  60. data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +51 -13
  61. data/frameworks/sproutcore/frameworks/desktop/panes/{drop_down.js → select_button.js} +70 -109
  62. data/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +8 -0
  63. data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +69 -23
  64. data/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +4 -4
  65. data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +2 -0
  66. data/frameworks/sproutcore/frameworks/desktop/tests/panes/{dropDown → select_button}/methods.js +15 -11
  67. data/frameworks/sproutcore/frameworks/desktop/tests/panes/{dropDown → select_button}/ui.js +22 -22
  68. data/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +1 -1
  69. data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +0 -1
  70. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +1 -1
  71. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +19 -3
  72. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +1 -1
  73. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +53 -28
  74. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +6 -6
  75. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +23 -9
  76. data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +24 -10
  77. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +1 -1
  78. data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +1 -1
  79. data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +10 -3
  80. data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +1 -1
  81. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +50 -28
  82. data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/methods.js +6 -6
  83. data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +3 -3
  84. data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +8 -8
  85. data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +1 -1
  86. data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +1 -1
  87. data/frameworks/sproutcore/frameworks/desktop/views/button.js +5 -3
  88. data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +4 -3
  89. data/frameworks/sproutcore/frameworks/desktop/views/collection.js +125 -96
  90. data/frameworks/sproutcore/frameworks/desktop/views/grid.js +1 -0
  91. data/frameworks/sproutcore/frameworks/desktop/views/list.js +68 -18
  92. data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +134 -56
  93. data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +18 -11
  94. data/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +562 -2
  95. data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +13 -0
  96. data/frameworks/sproutcore/frameworks/desktop/views/progress.js +11 -8
  97. data/frameworks/sproutcore/frameworks/desktop/views/radio.js +7 -7
  98. data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +99 -33
  99. data/frameworks/sproutcore/frameworks/desktop/views/scroller.js +3 -7
  100. data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +0 -7
  101. data/frameworks/sproutcore/frameworks/desktop/views/separator.js +2 -3
  102. data/frameworks/sproutcore/frameworks/desktop/views/slider.js +0 -8
  103. data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +1 -1
  104. data/frameworks/sproutcore/frameworks/desktop/views/split.js +27 -7
  105. data/frameworks/sproutcore/frameworks/desktop/views/tab.js +2 -6
  106. data/frameworks/sproutcore/frameworks/foundation/controllers/array.js +15 -10
  107. data/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +20 -1
  108. data/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +1 -1
  109. data/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +3 -6
  110. data/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +3 -0
  111. data/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +8 -0
  112. data/frameworks/sproutcore/frameworks/foundation/english.lproj/inline_editor.css +12 -0
  113. data/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +11 -0
  114. data/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +13 -0
  115. data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +1 -2
  116. data/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +70 -21
  117. data/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +88 -54
  118. data/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +0 -25
  119. data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +23 -2
  120. data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +34 -23
  121. data/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +20 -0
  122. data/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +32 -23
  123. data/frameworks/sproutcore/frameworks/foundation/system/browser.js +2 -2
  124. data/frameworks/sproutcore/frameworks/foundation/system/bundle.js +77 -15
  125. data/frameworks/sproutcore/frameworks/foundation/system/core_query.js +5 -4
  126. data/frameworks/sproutcore/frameworks/foundation/system/cursor.js +1 -1
  127. data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +22 -7
  128. data/frameworks/sproutcore/frameworks/foundation/system/request.js +466 -309
  129. data/frameworks/sproutcore/frameworks/foundation/system/responder.js +2 -1
  130. data/frameworks/sproutcore/frameworks/foundation/system/response.js +457 -0
  131. data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +66 -15
  132. data/frameworks/sproutcore/frameworks/foundation/system/routes.js +4 -4
  133. data/frameworks/sproutcore/frameworks/foundation/system/timer.js +6 -4
  134. data/frameworks/sproutcore/frameworks/foundation/system/utils.js +46 -8
  135. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +17 -0
  136. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +18 -5
  137. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +1 -1
  138. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +0 -2
  139. data/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +11 -0
  140. data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +14 -14
  141. data/frameworks/sproutcore/frameworks/foundation/tests/system/builder.js +2 -2
  142. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +15 -3
  143. data/frameworks/sproutcore/frameworks/foundation/tests/system/datetime.js +1 -1
  144. data/frameworks/sproutcore/frameworks/foundation/tests/system/locale.js +8 -7
  145. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +3 -2
  146. data/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +51 -44
  147. data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/targetForAction.js +2 -2
  148. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/isPaused.js +4 -4
  149. data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/performAction.js +2 -0
  150. data/frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js +9 -9
  151. data/frameworks/sproutcore/frameworks/foundation/tests/validators/number.js +2 -2
  152. data/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +3 -3
  153. data/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +10 -3
  154. data/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +2 -2
  155. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +14 -0
  156. data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +5 -5
  157. data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +1 -11
  158. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +2 -2
  159. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/destroyLayer.js +2 -4
  160. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +2 -4
  161. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/insertBefore.js +1 -1
  162. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +0 -2
  163. data/frameworks/sproutcore/frameworks/foundation/validators/password.js +5 -5
  164. data/frameworks/sproutcore/frameworks/foundation/validators/validator.js +4 -2
  165. data/frameworks/sproutcore/frameworks/foundation/views/field.js +5 -8
  166. data/frameworks/sproutcore/frameworks/foundation/views/label.js +21 -5
  167. data/frameworks/sproutcore/frameworks/foundation/views/text_field.js +112 -69
  168. data/frameworks/sproutcore/frameworks/foundation/views/view.js +67 -6
  169. data/frameworks/sproutcore/frameworks/runtime/core.js +51 -2
  170. data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +4 -1
  171. data/frameworks/sproutcore/frameworks/runtime/system/binding.js +2 -1
  172. data/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +5 -4
  173. data/frameworks/sproutcore/frameworks/runtime/system/index_set.js +6 -1
  174. data/frameworks/sproutcore/frameworks/runtime/system/logger.js +408 -0
  175. data/frameworks/sproutcore/frameworks/runtime/system/object.js +15 -4
  176. data/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +30 -2
  177. data/frameworks/sproutcore/frameworks/runtime/tests/core/IsEqual.js +5 -1
  178. data/frameworks/sproutcore/frameworks/runtime/tests/core/beget.js +1 -1
  179. data/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +3 -3
  180. data/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +2 -0
  181. data/frameworks/sproutcore/frameworks/runtime/tests/core/isArray.js +1 -1
  182. data/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +2 -1
  183. data/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +2 -2
  184. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +1 -1
  185. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js +1 -0
  186. data/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +11 -7
  187. data/frameworks/sproutcore/frameworks/runtime/tests/system/error.js +3 -2
  188. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +18 -1
  189. data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +1 -1
  190. data/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +165 -0
  191. data/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +3 -0
  192. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +1 -1
  193. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +13 -0
  194. data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +24 -0
  195. data/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +32 -13
  196. data/frameworks/sproutcore/frameworks/testing/english.lproj/runner.css +2 -2
  197. data/frameworks/sproutcore/frameworks/testing/english.lproj/testsuite.css +7 -2
  198. data/frameworks/sproutcore/lib/index.rhtml +6 -20
  199. data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x.psd +0 -0
  200. data/frameworks/sproutcore/themes/standard_theme/english.lproj/button.css +0 -1
  201. data/frameworks/sproutcore/themes/standard_theme/english.lproj/checkbox.css +5 -4
  202. data/frameworks/sproutcore/themes/standard_theme/english.lproj/collection.css +4 -3
  203. data/frameworks/sproutcore/themes/standard_theme/english.lproj/disclosure.css +7 -7
  204. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -0
  205. data/frameworks/sproutcore/themes/standard_theme/english.lproj/list_item.css +38 -0
  206. data/frameworks/sproutcore/themes/standard_theme/english.lproj/menu.css +20 -0
  207. data/frameworks/sproutcore/themes/standard_theme/english.lproj/progress.css +1 -0
  208. data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +3 -1
  209. data/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +1 -0
  210. data/frameworks/sproutcore/themes/standard_theme/english.lproj/split_view.css +1 -1
  211. data/frameworks/sproutcore/themes/standard_theme/english.lproj/text_field.css +0 -15
  212. data/gen/data-source/Buildfile +18 -0
  213. data/gen/data-source/README +1 -0
  214. data/gen/data-source/USAGE +15 -0
  215. data/gen/data-source/templates/data_sources/@filename@.js +64 -0
  216. data/lib/sproutcore/builders/combine.rb +23 -0
  217. data/lib/sproutcore/builders/javascript.rb +27 -2
  218. data/lib/sproutcore/buildfile/task.rb +1 -1
  219. data/lib/sproutcore/helpers/entry_sorter.rb +2 -2
  220. data/lib/sproutcore/helpers/static_helper.rb +79 -0
  221. data/lib/sproutcore/models/manifest.rb +2 -2
  222. data/lib/sproutcore/models/target.rb +1 -1
  223. data/lib/sproutcore/tools/build.rb +1 -1
  224. data/lib/sproutcore/tools/docs.rb +3 -3
  225. data/lib/sproutcore/tools/gen.rb +17 -15
  226. data/lib/sproutcore/tools/manifest.rb +9 -9
  227. data/lib/sproutcore/tools/server.rb +3 -3
  228. data/lib/sproutcore/tools.rb +259 -250
  229. data/lib/sproutcore.rb +9 -1
  230. data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +2 -2
  231. data/spec/fixtures/entry_for_project/frameworks/unrelated/PLACEHOLDER +0 -0
  232. data/spec/fixtures/ordered_entries/apps/no_requires/{lproj → english.lproj}/strings.js +0 -0
  233. data/spec/fixtures/ordered_entries/apps/no_requires/main.js +1 -0
  234. data/spec/fixtures/ordered_entries/apps/no_requires/resources/main_page.js +1 -0
  235. data/spec/fixtures/ordered_entries/apps/no_requires/t.js +1 -0
  236. data/spec/lib/models/manifest/find_entry.rb +12 -0
  237. data/spec/lib/tools/gen_spec.rb +1 -0
  238. data/spec/lib/tools/tools_spec.rb +1 -0
  239. data/sproutcore-abbot.gemspec +36 -44
  240. metadata +43 -44
  241. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/indicator.gif +0 -0
  242. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/sc-theme-sprite.png +0 -0
  243. data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/sticky-note.png +0 -0
  244. data/frameworks/sproutcore/frameworks/desktop/views/form.js +0 -594
  245. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-sprite.png +0 -0
  246. data/lib/thor/CHANGELOG.rdoc +0 -52
  247. data/lib/thor/LICENSE +0 -20
  248. data/lib/thor/README.markdown +0 -76
  249. data/lib/thor/Rakefile +0 -6
  250. data/lib/thor/Thorfile +0 -45
  251. data/lib/thor/bin/rake2thor +0 -83
  252. data/lib/thor/bin/thor +0 -7
  253. data/lib/thor/lib/thor/error.rb +0 -3
  254. data/lib/thor/lib/thor/options.rb +0 -267
  255. data/lib/thor/lib/thor/ordered_hash.rb +0 -64
  256. data/lib/thor/lib/thor/runner.rb +0 -305
  257. data/lib/thor/lib/thor/task.rb +0 -83
  258. data/lib/thor/lib/thor/task_hash.rb +0 -22
  259. data/lib/thor/lib/thor/tasks/package.rb +0 -18
  260. data/lib/thor/lib/thor/tasks.rb +0 -77
  261. data/lib/thor/lib/thor/util.rb +0 -75
  262. data/lib/thor/lib/thor.rb +0 -170
  263. data/lib/thor/script/destroy +0 -14
  264. data/lib/thor/script/generate +0 -14
  265. data/lib/thor/spec/fixtures/task.thor +0 -10
  266. data/lib/thor/spec/options_spec.rb +0 -271
  267. data/lib/thor/spec/ordered_hash_spec.rb +0 -84
  268. data/lib/thor/spec/spec.opts +0 -1
  269. data/lib/thor/spec/spec_helper.rb +0 -30
  270. data/lib/thor/spec/task_spec.rb +0 -11
  271. data/lib/thor/spec/tasks_spec.rb +0 -28
  272. data/lib/thor/spec/thor_runner_spec.rb +0 -194
  273. data/lib/thor/spec/thor_spec.rb +0 -206
  274. data/lib/thor/spec/util_spec.rb +0 -99
  275. data/lib/thor/task.thor +0 -15
  276. data/lib/thor/thor.gemspec +0 -29
@@ -30,7 +30,8 @@ test("SC.$ok should return YES if the passed value is an error object or false",
30
30
  ok(SC.$ok(undefined), '$ok(undefined) should be YES');
31
31
  ok(SC.$ok("foo"), '$ok(foo) should be YES');
32
32
  ok(!SC.$ok(SC.$error("foo")), '$ok(SC.Error) should be NO');
33
- ok(!SC.$ok(new Error()), '$ok(Error) should be NO');
33
+
34
+ ok(!SC.$ok(new SC.Error()), '$ok(Error) should be NO');
34
35
  ok(!SC.$ok(SC.Object.create({ isError: YES })), '$ok({ isError: YES }) should be NO');
35
36
  });
36
37
 
@@ -42,7 +43,7 @@ test("SC.$val should return the error value if it has one", function() {
42
43
  equals(SC.val("foo"), "foo", 'val(foo) should be YES');
43
44
  equals(SC.val(SC.$error("foo", "FOO", "BAZ")), "BAZ", 'val(SC.Error) should be BAZ');
44
45
  equals(SC.val(SC.$error("foo", "FOO")), undefined, 'val(SC.Error) should be undefined');
45
- equals(SC.val(new Error()), null, 'val(Error) should be null');
46
+ equals(SC.val(new SC.Error()), null, 'val(Error) should be null');
46
47
  equals(SC.val(SC.Object.create({ isError: YES, errorValue: "BAR" })), "BAR", 'val({ isError: YES, errorValue: BAR }) should be BAR');
47
48
  });
48
49
 
@@ -4,7 +4,7 @@
4
4
  // License: Licened under MIT license (see license.js)
5
5
  // ==========================================================================
6
6
 
7
- /*global module test equals context ok same */
7
+ /*global module test equals context ok same should_throw*/
8
8
  var set ;
9
9
  module("SC.IndexSet#add", {
10
10
  setup: function() {
@@ -193,3 +193,20 @@ test("add raises exception when frozen", function() {
193
193
  }, SC.FROZEN_ERROR);
194
194
  });
195
195
 
196
+ // ..........................................................
197
+ // SPECIAL CASES
198
+ //
199
+ // demonstrate fixes for specific bugs here.
200
+
201
+ test("adding in the same range should keep length consistent", function() {
202
+ set = SC.IndexSet.create();
203
+ set.add(1,4);
204
+ equals(set.length, 4, 'set length should be 4');
205
+
206
+ set.add(1,3); // should be like a no-op
207
+ equals(set.length, 4, 'set length should remain 4 after set.add(1,3)');
208
+
209
+ set.add(1,2); // should be like a no-op
210
+ equals(set.length, 4, 'set length should remain 4 after set.add(1,2)');
211
+
212
+ });
@@ -4,7 +4,7 @@
4
4
  // License: Licened under MIT license (see license.js)
5
5
  // ==========================================================================
6
6
 
7
- /*global module test equals context ok same notest */
7
+ /*global module test equals context ok same notest should_throw*/
8
8
  var set ;
9
9
  module("SC.IndexSet#remove", {
10
10
  setup: function() {
@@ -0,0 +1,165 @@
1
+ // ==========================================================================
2
+ // SC.Logger Unit Test
3
+ // ==========================================================================
4
+
5
+ /*globals module test equals */
6
+
7
+
8
+ // Test console needed because testing for null functions,
9
+ // ie. setting the actual console.log = null means setting up
10
+ // and tearing down no longer work properly.
11
+
12
+ function testConsole() {
13
+ return {
14
+ log: function() { return true; },
15
+ alert: function() { return true; },
16
+ dir: function() { return true; },
17
+ dirxml: function() { return true; },
18
+ error: function() { return true; },
19
+ group: function() { return true; },
20
+ groupEnd: function() { return true; },
21
+ info: function() { return true; },
22
+ profile: function() { return true; },
23
+ profileEnd: function() { return true; },
24
+ time: function() { return true; },
25
+ timeEnd: function() { return true; },
26
+ trace: function() { return true; },
27
+ warn: function() { return true; }
28
+ };
29
+ };
30
+
31
+ module("SC.Logger", {
32
+ setup: function() {
33
+ SC.Logger.set('reporter', testConsole());
34
+
35
+ SC.Logger.format = true;
36
+ SC.Logger.fallBackOnLog = true;
37
+ SC.Logger.fallBackOnAlert = false;
38
+ },
39
+ teardown: function() {
40
+ }
41
+ });
42
+
43
+ test("exists", function() {
44
+ equals(SC.Logger.get('exists'), true, "Reporter does exist check");
45
+
46
+ SC.Logger.set('reporter', null);
47
+ equals(SC.Logger.get('exists'), false, "Reporter does not exist check");
48
+ });
49
+
50
+ test("log", function() {
51
+ equals(SC.Logger.log("test"), true, "Function is defined" );
52
+
53
+ var reporter = SC.Logger.get('reporter');
54
+ reporter.log = null;
55
+ equals(SC.Logger.log("test"), false, "Function is null");
56
+
57
+ SC.Logger.fallBackOnAlert = true;
58
+ equals(SC.Logger.log("test"), true, "Function is null -- fallBackOnAlert true");
59
+ });
60
+
61
+ test("dir", function() {
62
+ equals(SC.Logger.dir({test:"string"}), true, "Function is defined");
63
+
64
+ SC.Logger.get('reporter').dir = null;
65
+ equals(SC.Logger.dir({test:"string"}), true, "Function is null -- fallBackOnLog true");
66
+
67
+ SC.Logger.fallBackOnLog = false;
68
+ equals(SC.Logger.dir({test:"string"}), false, "Function is null -- fallBackOnLog false");
69
+ });
70
+
71
+ test("dirxml", function() {
72
+ equals(SC.Logger.dirxml("<here id='2'>is some XML</here>"), true, "Function is defined");
73
+
74
+ SC.Logger.get('reporter').dirxml = null;
75
+ equals(SC.Logger.dirxml("<here id='2'>is some XML</here>"), true, "Function is null -- fallBackOnLog true");
76
+
77
+ SC.Logger.fallBackOnLog = false;
78
+ equals(SC.Logger.dirxml("<here id='2'>is some XML</here>"), false, "Function is null -- fallBackOnLog false");
79
+ });
80
+
81
+ test("error", function() {
82
+ equals(SC.Logger.error("Error"), true, "Function is defined");
83
+
84
+ SC.Logger.get('reporter').error = null;
85
+ equals(SC.Logger.error("Error"), true, "Function is null -- fallBackOnLog true");
86
+
87
+ SC.Logger.fallBackOnLog = false;
88
+ equals(SC.Logger.error("Error"), false, "Function is null -- fallBackOnLog false");
89
+ });
90
+
91
+ test("group", function() {
92
+ equals(SC.Logger.group("mygroup"), true, "Function is defined");
93
+
94
+ SC.Logger.get('reporter').group = null;
95
+ equals(SC.Logger.group("mygroup"), false, "Function is null");
96
+ });
97
+
98
+ test("groupEnd", function() {
99
+ equals(SC.Logger.groupEnd("mygroup"), true, "Function is defined");
100
+
101
+ SC.Logger.get('reporter').groupEnd = null;
102
+ equals(SC.Logger.groupEnd("mygroup"), false, "Function is null");
103
+ });
104
+
105
+ test("info", function() {
106
+ equals(SC.Logger.info("Info"), true, "Function is defined");
107
+
108
+ SC.Logger.get('reporter').info = null;
109
+ equals(SC.Logger.info("Info"), true, "Function is null -- fallBackOnLog true");
110
+
111
+ SC.Logger.fallBackOnLog = false;
112
+ equals(SC.Logger.info("Info"), false, "Function is null -- fallBackOnLog false");
113
+ });
114
+
115
+ test("profile", function() {
116
+ equals(SC.Logger.profile(), true, "Function is defined");
117
+
118
+ SC.Logger.get('reporter').profile = null;
119
+ equals(SC.Logger.profile(), false, "Function is null");
120
+ });
121
+
122
+ test("profileEnd", function() {
123
+ equals(SC.Logger.profileEnd(), true, "Function is defined");
124
+
125
+ SC.Logger.get('reporter').profileEnd = null;
126
+ equals(SC.Logger.profileEnd(), false, "Function is null");
127
+ });
128
+
129
+ test("time", function() {
130
+ equals(SC.Logger.time('mytime'), true, "Function is defined");
131
+
132
+ SC.Logger.get('reporter').time = null;
133
+ equals(SC.Logger.time('mytime'), false, "Function is null");
134
+ });
135
+
136
+ test("timeEnd", function() {
137
+ equals(SC.Logger.timeEnd('mytime'), true, "Function is defined");
138
+
139
+ SC.Logger.get('reporter').timeEnd = null;
140
+ equals(SC.Logger.timeEnd('mytime'), false, "Function is null");
141
+ });
142
+
143
+ test("trace", function() {
144
+ equals(SC.Logger.trace(), true, "Function is defined");
145
+
146
+ SC.Logger.get('reporter').trace = null;
147
+ equals(SC.Logger.trace(), false, "Function is null");
148
+ });
149
+
150
+ test("warn", function() {
151
+ equals(SC.Logger.warn("Warn"), true, "Function is defined");
152
+
153
+ SC.Logger.get('reporter').warn = null;
154
+ equals(SC.Logger.warn("Warn"), true, "Function is null -- fallBackOnLog true");
155
+
156
+ SC.Logger.fallBackOnLog = false;
157
+ equals(SC.Logger.warn("Warn"), false, "Function is null -- fallBackOnLog false");
158
+ });
159
+
160
+ test("_argumentsToString", function() {
161
+ equals(SC.Logger._argumentsToString.apply(SC.Logger, ["test", "test2"]), "test" + SC.LOGGER_LOG_DELIMITER + "test2", "Formatting using default delimiter");
162
+
163
+ SC.LOGGER_LOG_DELIMITER = "|";
164
+ equals(SC.Logger._argumentsToString.apply(SC.Logger, ["test", "test2"]), "test|test2", "Formatting using custom delimiter");
165
+ });
@@ -3,6 +3,8 @@
3
3
  // ========================================================================
4
4
  /*globals module test ok isObj equals expects */
5
5
 
6
+ var testObject, fromObject, extraObject, TestObject;
7
+
6
8
  module("bind() method", {
7
9
 
8
10
  setup: function() {
@@ -98,6 +100,7 @@ test("bind(*extraObject.foo) should create locally chained binding", function()
98
100
  equals("extraObjectValue", testObject.get("foo"), "testObject.foo") ;
99
101
  });
100
102
 
103
+
101
104
  module("fooBinding method", {
102
105
 
103
106
  setup: function() {
@@ -11,7 +11,7 @@ test("basic copy", function() {
11
11
  set = SC.SelectionSet.create().add(content,4,4).remove(content,6),
12
12
  copy = set.copy();
13
13
 
14
- equals(set.get('length'), 3, 'precond - original set should have length')
14
+ equals(set.get('length'), 3, 'precond - original set should have length');
15
15
  equals(copy.get('length'), 3, 'copy should have same length');
16
16
  same(copy, set, 'copy should be the same as original set');
17
17
  });
@@ -83,3 +83,16 @@ test("add and remove source", function() {
83
83
  set.add(array, 3,4).remove(array, 3,4);
84
84
  equals(set.indexSetForSource(array), null, 'should return null for source not in set');
85
85
  });
86
+
87
+ test("looking up indexSet for source when objects are added should recache when source content changes", function() {
88
+ var obj = array.objectAt(0), ret;
89
+
90
+ set = SC.SelectionSet.create().addObject(obj);
91
+ ret = set.indexSetForSource(array);
92
+ same(ret, SC.IndexSet.create(0), 'should return index set with item at 0');
93
+
94
+ array.removeObject(obj).pushObject(obj); // move obj to end.
95
+ ret = set.indexSetForSource(array) ;
96
+ same(ret, SC.IndexSet.create(array.indexOf(obj)), 'should return index set with item at end');
97
+
98
+ });
@@ -83,5 +83,29 @@ test("Adding another SelectionSet", function() {
83
83
  });
84
84
 
85
85
 
86
+ // ..........................................................
87
+ // SPECIAL CASES
88
+ //
86
89
 
90
+ test("removing index set should also remove individually added objects", function() {
91
+ var objToRemove = array[3]; // item from one array...
92
+ var objToNotRemove = array2[3]; // item from array we won't remove..
93
+
94
+ // add both objects.
95
+ set.addObject(objToRemove).addObject(objToNotRemove);
96
+ set.add(array, 4, 3);
97
+
98
+ ok(set.contains(objToRemove), 'set should contain objToRemove');
99
+ ok(set.contains(objToNotRemove), 'set should contain objToNotRemove');
100
+ equals(set.get('length'), 5, 'set.length sould == two objects + index.length');
101
+
102
+ // now remove from array set
103
+ set.remove(array, 2, 4);
104
+
105
+ SC.stopIt = NO ;
106
+
107
+ ok(!set.contains(objToRemove), 'set should NOT contain objToRemove');
108
+ ok(set.contains(objToNotRemove), 'set should contain objToNotRemove');
109
+ equals(set.get('length'), 2, 'set.length should == 1 object + index.length');
110
+ });
87
111
 
@@ -17,19 +17,6 @@ test("fetching the object at index", function() {
17
17
  equals(2 ,ary.indexOf('there'), "Index of 'there' is");
18
18
  });
19
19
 
20
- test("creating a clone of a sparse array", function() {
21
- var ary = SC.SparseArray.create(6);
22
- // var arr = ["captain","crash","and the","beauty","queen","from Mars"];
23
- // ary = arr;
24
- // ary.provideObjectAtIndex(0, "captain");
25
- // ary.provideObjectAtIndex(1, "crash");
26
- // ary.provideObjectAtIndex(2, "and the");
27
- // ary.provideObjectAtIndex(3, "beauty");
28
- // ary.provideObjectAtIndex(4, "queen");
29
- // ary.provideObjectAtIndex(5, "from Mars");
30
- // var cpy = ary.clone(); alert(cpy);
31
- });
32
-
33
20
  test("Update the sparse array using provideObjectAtIndex", function() {
34
21
  var ary = SC.SparseArray.create(2);
35
22
  var obj = "not";
@@ -84,6 +71,38 @@ test("element to be added is at idx > length of array ", function() {
84
71
  });
85
72
 
86
73
 
74
+ test("modifying a range should not require the rest of the array to refetch", function() {
75
+ var del = {
76
+ cnt: 0,
77
+
78
+ sparseArrayDidRequestIndex: function(sparseArray, idx) {
79
+ this.cnt++;
80
+ sparseArray.provideObjectAtIndex(idx, "foo");
81
+ },
82
+
83
+ sparseArrayDidRequestLength: function(sparseArray) {
84
+ sparseArray.provideLength(100);
85
+ },
86
+
87
+ // make editable
88
+ sparseArrayShouldReplace: function() { return YES; }
89
+
90
+ };
91
+
92
+ var ary = SC.SparseArray.create({
93
+ delegate: del
94
+ });
95
+
96
+ equals(ary.objectAt(10), 'foo', 'precond - should provide foo');
97
+ equals(del.cnt, 1, 'precond - should invoke sparseArrayDidRequestIndex() one time');
98
+
99
+ del.cnt = 0;
100
+
101
+ ary.removeAt(5); // delete an item before 10
102
+ equals(ary.objectAt(9), 'foo', 'should provide foo at index after delete');
103
+ equals(del.cnt, 0, 'should NOT invoke sparseArrayRequestIndex() since it was provided already');
104
+ });
105
+
87
106
  test("Check that requestIndex works with a rangeWindowSize larger than 1", function() {
88
107
  var ary = SC.SparseArray.array(10) ;
89
108
  var didRequestRange=NO;
@@ -6,9 +6,9 @@
6
6
  top: 0;
7
7
  left: 0;
8
8
  right: 0;
9
- auto: 0;
9
+ bottom: 0;
10
10
  background-color: #f0f0f0;
11
- min-height: 100%;
11
+ overflow: auto;
12
12
  }
13
13
 
14
14
  .core-test .useragent {
@@ -83,7 +83,9 @@
83
83
  #qunit div.medheight { height: 50px; }
84
84
  #qunit div.medopacity {
85
85
  opacity: 0.5;
86
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
86
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
87
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
88
+ -moz-opacity:0.5;
87
89
  }
88
90
 
89
91
  #qunit div.nowidth {
@@ -96,7 +98,10 @@
96
98
 
97
99
  #qunit div.noopacity {
98
100
  opacity: 0;
99
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
101
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
102
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
103
+ -moz-opacity:0;
104
+
100
105
  }
101
106
 
102
107
  #qunit div.hidden {
@@ -22,20 +22,8 @@
22
22
  # JS targets that you would like to load at the top of the page. Specify
23
23
  # these in your Buildfile with the 'bootstrap' config.
24
24
  -%>
25
- <% if config.bootstrap %>
26
- <script src="<%= static_url(config.bootstrap) %>" type="text/javascript"></script>
27
- <% end -%>
28
- <% #
29
- # Bootstrap code is loaded at the top of your page to do any early setup
30
- # you might need, including basic browser detection. The default
31
- # bootstrap code provided by SproutCore simply detects your browser
32
- # platform. Add more by including templates targeting the bootstrap
33
- -%>
34
- <% if @content_for_bootstrap %>
35
- <script type="text/javascript">
36
- <%= @content_for_bootstrap %>
37
- </script>
38
- <% end -%>
25
+ <%= bootstrap %>
26
+
39
27
  <% #
40
28
  # This line should appear in your head area to include the stylesheets
41
29
  # generated by your client. If you need to include your own
@@ -44,21 +32,19 @@
44
32
  -%>
45
33
  <%= stylesheets_for_client %>
46
34
  <%= @content_for_page_styles %>
35
+
47
36
  </head>
48
37
 
49
38
  <% # The theme CSS class is added automatically based on your chosen theme.
50
39
  # If you need to specify a custom theme name, use CONFIG.theme_name
51
40
  -%>
52
- <body class="<%= [theme_name(:default => 'sc-theme'), 'focus'].compact.join(' ') %>">
41
+ <body class="<%= [theme_name(:default => 'sc-theme'), 'focus'].compact.join(' ') %>" <%= config.hide_body_overflow ? 'style="overflow:hidden;"' : '' %> >
53
42
  <% # This section is used to setup additional optional class names on the
54
43
  # body content based on JS-selected conditions. Use this to make sure you
55
44
  # show the proper CSS as soon as the page appears.
56
45
  -%>
57
- <% unless @content_for_setup_body_class_names.blank? %>
58
- <script type="text/javascript">
59
- <%= @content_for_setup_body_class_names %>
60
- </script>
61
- <% end -%>
46
+ <%= inline_javascript('sproutcore/bootstrap:setup_body_class_names') %>
47
+
62
48
  <% #
63
49
  # This is where you root body element will appear. To cause your
64
50
  # content to appear here, just declare content_for('body') in one of
@@ -6,7 +6,6 @@
6
6
  text-decoration: none ;
7
7
  border: none ;
8
8
  padding: 0;
9
- display: inline-block ;
10
9
  }
11
10
 
12
11
  .sc-theme .sc-button-view.icon img.icon {
@@ -13,7 +13,7 @@
13
13
  bottom: 0;
14
14
  line-height: 18px;
15
15
  }
16
-
16
+
17
17
  .sc-theme .sc-checkbox-view.icon img.icon {
18
18
  position: relative;
19
19
  vertical-align: middle;
@@ -33,18 +33,19 @@
33
33
 
34
34
  /* Set the opacity of the input to 0 so it will take hits but not appear. */
35
35
  .sc-theme .sc-checkbox-view input {
36
- width: 10px;
37
- height: 10px;
36
+ width: 1px;
37
+ height: 1px;
38
38
  top:1px;
39
39
  left: 1px;
40
40
  position: relative;
41
- opacity:0.0;
41
+ opacity:0;
42
42
  vertical-align: top ;
43
43
  margin: 0;
44
44
  margin-right: 3px;
45
45
  outline:0px;
46
46
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
47
47
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
48
+ -moz-opacity:0;
48
49
  }
49
50
 
50
51
  .sc-theme .sc-checkbox-view span.button {
@@ -12,6 +12,7 @@
12
12
 
13
13
  .sc-theme .sc-collection-view .sc-collection-item.sel {
14
14
  background-color: #ddd;
15
+ color: #333;
15
16
  }
16
17
 
17
18
  .sc-theme.focus .sc-collection-view.focus .sc-collection-item.sel {
@@ -41,10 +42,10 @@
41
42
  .sc-theme .sc-list-insertion-point .anchor {
42
43
  position: absolute ;
43
44
  width: 8px;
44
- top: -3px;
45
- left: -3px;
45
+ top: -2px;
46
+ left: -4px;
46
47
  height: 8px;
47
- background: static_url('images/sc-theme-sprite.png') no-repeat -32px -1040px;
48
+ background: static_url('images/sc-theme-repeat-x.png') no-repeat -32px -1630px;
48
49
  }
49
50
 
50
51
  /* @end */
@@ -9,16 +9,16 @@
9
9
  height: 12px;
10
10
  left: 0;
11
11
  top: 3px;
12
- background-image: static_url('images/sc-theme-sprite.png') ;
12
+ background-image: static_url('images/sc-theme-repeat-x.png') ;
13
13
  }
14
14
 
15
15
 
16
16
  .sc-theme .sc-button-view.sc-disclosure-view.sel img.button {
17
- background-position: 0px -1008px ;
17
+ background-position: 0px -1597px ;
18
18
  }
19
19
 
20
20
  .sc-theme .sc-button-view.sc-disclosure-view img.button {
21
- background-position: -16px -1025px ;
21
+ background-position: -16px -1614px ;
22
22
  }
23
23
 
24
24
  .sc-theme .sc-button-view.sc-disclosure-view {
@@ -30,11 +30,11 @@
30
30
  /* @group disabled */
31
31
 
32
32
  .sc-theme .sc-button-view.sc-disclosure-view.sel.disabled img.button {
33
- background-position: 0px -1024px ;
33
+ background-position: 0px -1613px ;
34
34
  }
35
35
 
36
36
  .sc-theme .sc-button-view.sc-disclosure-view.disabled img.button {
37
- background-position: -16px -1041px ;
37
+ background-position: -16px -1630px ;
38
38
  }
39
39
 
40
40
  /* @end */
@@ -42,11 +42,11 @@
42
42
  /* @group active */
43
43
 
44
44
  .sc-theme .sc-button-view.sc-disclosure-view.sel.active img.button {
45
- background-position: -16px -1008px ;
45
+ background-position: -16px -1597px ;
46
46
  }
47
47
 
48
48
  .sc-theme .sc-button-view.sc-disclosure-view.active img.button {
49
- background-position: -0px -1041px ;
49
+ background-position: -0px -1630px ;
50
50
  }
51
51
 
52
52
  /* @end */
@@ -27,4 +27,42 @@
27
27
  border: none;
28
28
  }
29
29
 
30
+ /* @end */
31
+
32
+ /* @group Disclosure */
33
+
34
+ .sc-list-item-view img.disclosure {
35
+ position: absolute ;
36
+ left: -11px;
37
+ top: 50%;
38
+ margin-top: -6px;
39
+ width: 14px;
40
+ height: 14px;
41
+ background-image: static_url('images/sc-theme-repeat-x.png') ;
42
+ background-position: -16px -1614px ;
43
+ }
44
+
45
+ .sc-list-item-view img.disclosure.open {
46
+ background-position: 0px -1597px ;
47
+ }
48
+
49
+ .sc-list-item-view img.disclosure.active {
50
+ background-position: -0px -1630px ;
51
+ }
52
+
53
+ .sc-list-item-view img.disclosure.open.active {
54
+ background-position: -16px -1597px ;
55
+ }
56
+
57
+ .sc-list-item-view.disabled img.disclosure,
58
+ .sc-list-item-view.disabled img.disclosure.active {
59
+ background-position: -16px -1630px ;
60
+ }
61
+
62
+ .sc-list-item-view.disabled img.disclosure.open,
63
+ .sc-list-item-view.disabled img.disclosure.open.active {
64
+ background-position: 0px -1613px ;
65
+ }
66
+
67
+
30
68
  /* @end */
@@ -0,0 +1,20 @@
1
+
2
+ .sc-theme .sc-menu-scroller-view.sc-vertical .arrowDown{
3
+ border: none;
4
+ width: 14px;
5
+ height: 14px;
6
+ text-align: center;
7
+ background: static_url('images/sc-theme-repeat-x.png') no-repeat 0px -1598px;
8
+ display: inline-block;
9
+ vertical-align:bottom;
10
+ }
11
+
12
+ .sc-theme .sc-menu-scroller-view.sc-vertical .arrowUp{
13
+ border: none;
14
+ width: 14px;
15
+ height: 14px;
16
+ text-align: center;
17
+ background: static_url('images/sc-theme-repeat-x.png') no-repeat 0px -1585px;
18
+ display: inline-block;
19
+ vertical-align:bottom;
20
+ }
@@ -13,6 +13,7 @@
13
13
  opacity: 0.5;
14
14
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
15
15
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
16
+ -moz-opacity:0.5;
16
17
  }
17
18
 
18
19
  .sc-theme .sc-progress-view .sc-inner {
@@ -25,10 +25,11 @@
25
25
  height: 10px;
26
26
  position: absolute;
27
27
  margin-left: -20px;
28
- opacity: 0.0;
28
+ opacity: 0;
29
29
  outline:0px;
30
30
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
31
31
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
32
+ -moz-opacity:0;
32
33
  }
33
34
 
34
35
  .sc-theme .sc-radio-view.sc-layout-vertical .sc-radio-button {
@@ -96,6 +97,7 @@
96
97
  opacity: 0.5;
97
98
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
98
99
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
100
+ -moz-opacity:0.5;
99
101
  }
100
102
 
101
103
  /* @end */
@@ -32,6 +32,7 @@
32
32
  opacity: 0.5;
33
33
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
34
34
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
35
+ -moz-opacity: 0.5;
35
36
  }
36
37
 
37
38
  /* @group Layout */