sproutcore 1.5.0.pre.4.1 → 1.5.0.pre.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. data/CHANGELOG +7 -0
  2. data/VERSION.yml +1 -1
  3. data/lib/buildtasks/manifest.rake +4 -3
  4. data/lib/frameworks/sproutcore/Buildfile +1 -2
  5. data/lib/frameworks/sproutcore/CHANGELOG.md +8 -3
  6. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/app-selector.css +19 -23
  7. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/button.css +139 -135
  8. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/dock.css +5 -0
  9. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/general.css +0 -1
  10. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/menu.css +10 -13
  11. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/modal.css +9 -8
  12. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/picker.css +19 -12
  13. data/lib/frameworks/sproutcore/apps/greenhouse/models/design.js +2 -2
  14. data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +1 -1
  15. data/lib/frameworks/sproutcore/apps/greenhouse/theme.js +2 -2
  16. data/lib/frameworks/sproutcore/apps/greenhouse/views/plist_item.js +3 -1
  17. data/lib/frameworks/sproutcore/frameworks/animation/core.js +1 -1
  18. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +31 -20
  19. data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +15 -9
  20. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +5 -5
  21. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +1 -1
  22. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +23 -45
  23. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +1 -1
  24. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +60 -5
  25. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +1 -1
  26. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +2 -2
  27. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +4 -4
  28. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/ready/done.js +32 -0
  29. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +5 -2
  30. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +8 -3
  31. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +4 -4
  32. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/collection.js +51 -5
  33. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/core.js +18 -0
  34. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/handlebars.js +261 -0
  35. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +55 -0
  36. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +2 -19
  37. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +3 -1
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +17 -0
  39. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +96 -1
  40. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +15 -0
  41. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +19 -0
  42. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template/collection.js +8 -1
  43. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +179 -4
  44. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +8 -14
  45. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +7 -0
  46. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +4 -4
  47. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +51 -114
  48. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +84 -36
  49. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +4 -67
  50. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +244 -1
  51. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +1 -1
  52. data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +1 -1
  53. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +7 -1
  54. data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +1 -1
  55. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +2 -2
  56. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +23 -1
  57. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +4 -2
  58. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +4 -0
  59. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +4 -1
  60. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +4 -0
  61. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +4 -0
  62. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +4 -0
  63. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +4 -0
  64. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +5 -1
  65. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +5 -1
  66. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +64 -0
  67. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +38 -35
  68. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/unloadRecords.js +4 -0
  69. data/lib/frameworks/sproutcore/frameworks/datetime/system/datetime.js +7 -4
  70. data/lib/frameworks/sproutcore/frameworks/datetime/tests/system/datetime.js +2 -2
  71. data/lib/frameworks/sproutcore/frameworks/debug/core.js +1 -1
  72. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +5 -5
  73. data/lib/frameworks/sproutcore/frameworks/designer/coders/object.js +1 -1
  74. data/lib/frameworks/sproutcore/frameworks/designer/designers/view_designer.js +11 -3
  75. data/lib/frameworks/sproutcore/frameworks/designer/ext/binding.js +33 -0
  76. data/lib/frameworks/sproutcore/frameworks/designer/ext/object.js +1 -1
  77. data/lib/frameworks/sproutcore/frameworks/designer/ext/page.js +5 -33
  78. data/lib/frameworks/sproutcore/frameworks/designer/ext/view.js +0 -27
  79. data/lib/frameworks/sproutcore/frameworks/designer/tests/coders/page.js +54 -0
  80. data/lib/frameworks/sproutcore/frameworks/designer/tests/designers/view_designer.js +47 -0
  81. data/lib/frameworks/sproutcore/frameworks/designer/views/drawing.js +4 -4
  82. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +19 -6
  83. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
  84. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +1 -1
  85. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +1 -1
  86. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +133 -39
  87. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
  88. data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +6 -5
  89. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +8 -2
  90. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +10 -2
  91. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +8 -2
  92. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +10 -2
  93. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +15 -9
  94. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +8 -2
  95. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +8 -2
  96. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +10 -2
  97. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +10 -2
  98. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +31 -0
  99. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +10 -3
  100. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +10 -3
  101. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +10 -3
  102. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +15 -8
  103. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +10 -3
  104. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +1 -1
  105. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +1 -1
  106. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +1 -7
  107. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +10 -0
  108. data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +3 -3
  109. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +2 -2
  110. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +17 -5
  111. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +60 -27
  112. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +1 -1
  113. data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +4 -4
  114. data/lib/frameworks/sproutcore/frameworks/foundation/system/cookie.js +29 -18
  115. data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +18 -18
  116. data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +5 -5
  117. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +62 -1
  118. data/lib/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +8 -3
  119. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/ui.js +4 -3
  120. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +5 -3
  121. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +5 -3
  122. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/cookie.js +20 -4
  123. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +235 -0
  124. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +5 -0
  125. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +0 -2
  126. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +8 -3
  127. data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +2 -2
  128. data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +19 -11
  129. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +6 -13
  130. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions.js +23 -117
  131. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/bind.js +136 -0
  132. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/collection.js +75 -0
  133. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/localization.js +5 -0
  134. data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/view.js +115 -0
  135. data/lib/frameworks/sproutcore/frameworks/handlebars/handlebars.js +143 -80
  136. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +1 -1
  137. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +4 -4
  138. data/lib/frameworks/sproutcore/frameworks/media/views/video.js +5 -5
  139. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array.js +14 -0
  140. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1 -1
  141. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +13 -13
  142. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +4 -4
  143. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +3 -3
  144. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +1 -1
  145. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +25 -17
  146. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/pointers.psd +0 -0
  147. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +18 -12
  148. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +30 -16
  149. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +27 -15
  150. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +5 -0
  151. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/button.css +8 -0
  152. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +25 -16
  153. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +21 -15
  154. data/lib/frameworks/sproutcore/themes/ace/resources/imagebutton/ace/imagebutton.css +11 -0
  155. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
  156. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css +41 -0
  157. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
  158. data/lib/sproutcore.rb +2 -0
  159. data/lib/sproutcore/buildfile.rb +17 -17
  160. data/lib/sproutcore/buildfile/task.rb +4 -12
  161. data/lib/sproutcore/buildfile/task_manager.rb +13 -4
  162. data/lib/sproutcore/models/manifest.rb +3 -3
  163. data/lib/sproutcore/models/target.rb +1 -1
  164. data/spec/fixtures/real_world/Buildfile +1 -1
  165. data/vendor/chance/lib/chance/imagers/data_url.rb +38 -19
  166. data/vendor/chance/lib/chance/instance.rb +4 -7
  167. data/vendor/chance/lib/chance/slicing.rb +6 -10
  168. metadata +18 -5
  169. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/tabbed.css +0 -68
  170. data/lib/frameworks/sproutcore/frameworks/designer/coders/localization.js +0 -19
  171. data/lib/sproutcore/buildfile/cloneable.rb +0 -34
@@ -342,7 +342,7 @@ jQuery.Buffer = (function() {
342
342
  if (typeof value === "string") value = value.split(' ');
343
343
 
344
344
  var idx, len = value.length;
345
- for (idx = 0; idx < len; idx++) context.classNames[value[idx].trim()] = true;
345
+ for (idx = 0; idx < len; idx++) context.classNames[jQuery.trim(value[idx])] = true;
346
346
  };
347
347
 
348
348
  Buffer.prototype.removeClass = function(value) {
@@ -433,7 +433,7 @@ SC.AudioView = SC.View.extend({
433
433
  media.GetVolume();
434
434
  // add media.GetTimeScale(); ?
435
435
  }catch(e){
436
- console.log('loaded fail trying later');
436
+ SC.Logger.log('loaded fail trying later');
437
437
  this.invokeLater(this.didAppendToDocument, 100);
438
438
  return;
439
439
  }
@@ -560,7 +560,7 @@ SC.AudioView = SC.View.extend({
560
560
  */
561
561
  startSeek: function(){
562
562
  if(!this.get('paused')) {
563
- console.log('startseetk');
563
+ SC.Logger.log('startseetk');
564
564
  this.stop();
565
565
  this._wasPlaying = true;
566
566
  }
@@ -574,7 +574,7 @@ SC.AudioView = SC.View.extend({
574
574
  */
575
575
  endSeek: function(){
576
576
  if(this._wasPlaying) {
577
- console.log('startseetk');
577
+ SC.Logger.log('startseetk');
578
578
  this.play();
579
579
  this._wasPlaying = false;
580
580
  }
@@ -715,7 +715,7 @@ SC.AudioView.updateProperty = function(scid, property, value) {
715
715
  Function to log events coming from flash.
716
716
  */
717
717
  SC.AudioView.logFlash = function(message) {
718
- console.log("FLASHLOG: "+message);
718
+ SC.Logger.log("FLASHLOG: "+message);
719
719
  } ;
720
720
 
721
721
 
@@ -476,7 +476,7 @@ SC.VideoView = SC.View.extend({
476
476
  try{
477
477
  vid.GetVolume();
478
478
  }catch(e){
479
- console.log('loaded fail trying later');
479
+ SC.Logger.log('loaded fail trying later');
480
480
  this.invokeLater(this.didAppendToDocument, 100);
481
481
  return;
482
482
  }
@@ -629,7 +629,7 @@ SC.VideoView = SC.View.extend({
629
629
  */
630
630
  startSeek: function(){
631
631
  if(!this.get('paused')) {
632
- console.log('startseetk');
632
+ SC.Logger.log('startseetk');
633
633
  this.stop();
634
634
  this._wasPlaying = true;
635
635
  }
@@ -643,7 +643,7 @@ SC.VideoView = SC.View.extend({
643
643
  */
644
644
  endSeek: function(){
645
645
  if(this._wasPlaying) {
646
- console.log('startseetk');
646
+ SC.Logger.log('startseetk');
647
647
  this.play();
648
648
  this._wasPlaying = false;
649
649
  }
@@ -674,7 +674,7 @@ SC.VideoView = SC.View.extend({
674
674
  if(this.loaded==="flash") vid.playVideo();
675
675
  this.set('paused', NO);
676
676
  }catch(e){
677
- console.warn('The video cannot play!!!! It might still be loading the plugging');
677
+ SC.Logger.warn('The video cannot play!!!! It might still be loading the plugging');
678
678
  }
679
679
  },
680
680
 
@@ -800,7 +800,7 @@ SC.VideoView.updateProperty = function(scid, property, value) {
800
800
  Function to log events coming from flash.
801
801
  */
802
802
  SC.VideoView.logFlash = function(message) {
803
- console.log("FLASHLOG: "+message);
803
+ SC.Logger.log("FLASHLOG: "+message);
804
804
  } ;
805
805
 
806
806
 
@@ -0,0 +1,14 @@
1
+ // Convenience file for requiring all of the ArraySuite
2
+
3
+ sc_require('debug/test_suites/array/base');
4
+ sc_require('debug/test_suites/array/indexOf');
5
+ sc_require('debug/test_suites/array/insertAt');
6
+ sc_require('debug/test_suites/array/objectAt');
7
+ sc_require('debug/test_suites/array/popObject');
8
+ sc_require('debug/test_suites/array/pushObject');
9
+ sc_require('debug/test_suites/array/rangeObserver');
10
+ sc_require('debug/test_suites/array/removeAt');
11
+ sc_require('debug/test_suites/array/removeObject');
12
+ sc_require('debug/test_suites/array/replace');
13
+ sc_require('debug/test_suites/array/shiftObject');
14
+ sc_require('debug/test_suites/array/unshiftObject');
@@ -978,7 +978,7 @@ SC.Reducers = /** @lends SC.Enumerable */ {
978
978
  */
979
979
  reducedProperty: function(key, value, generateProperty) {
980
980
 
981
- if (!key || key.charAt(0) !== '@') return undefined ; // not a reduced property
981
+ if (!key || typeof key !== SC.T_STRING || key.charAt(0) !== '@') return undefined ; // not a reduced property
982
982
 
983
983
  // get the reducer key and the reducer
984
984
  var matches = key.match(/^@([^(]*)(\(([^)]*)\))?$/) ;
@@ -11,7 +11,7 @@ sc_require('private/chain_observer');
11
11
  /*globals logChange */
12
12
 
13
13
  /**
14
- Set to YES to have all observing activity logged to the console. This
14
+ Set to YES to have all observing activity logged to the SC.Logger. This
15
15
  should be used for debugging only.
16
16
 
17
17
  @property {Boolean}
@@ -471,7 +471,7 @@ SC.Observable = {
471
471
  changes.add(key) ;
472
472
 
473
473
  if (suspended) {
474
- if (log) console.log("%@%@: will not notify observers because observing is suspended".fmt(SC.KVO_SPACES,this));
474
+ if (log) SC.Logger.log("%@%@: will not notify observers because observing is suspended".fmt(SC.KVO_SPACES,this));
475
475
  SC.Observers.objectHasPendingChanges(this) ;
476
476
  }
477
477
 
@@ -932,7 +932,7 @@ SC.Observable = {
932
932
 
933
933
  if (log) {
934
934
  spaces = SC.KVO_SPACES = (SC.KVO_SPACES || '') + ' ';
935
- console.log('%@%@: notifying observers after change to key "%@"'.fmt(spaces, this, key));
935
+ SC.Logger.log('%@%@: notifying observers after change to key "%@"'.fmt(spaces, this, key));
936
936
  }
937
937
 
938
938
  // Get any starObservers -- they will be notified of all changes.
@@ -974,7 +974,7 @@ SC.Observable = {
974
974
  // value is a cacheable property, clear the cached value...
975
975
  if (keys && (loc = keys.length)) {
976
976
  if (log) {
977
- console.log("%@...including dependent keys for %@: %@".fmt(spaces, key, keys));
977
+ SC.Logger.log("%@...including dependent keys for %@: %@".fmt(spaces, key, keys));
978
978
  }
979
979
  cache = this._kvo_cache;
980
980
  if (!cache) cache = this._kvo_cache = {};
@@ -1013,14 +1013,14 @@ SC.Observable = {
1013
1013
 
1014
1014
  if (member[3] === rev) continue ; // skip notified items.
1015
1015
 
1016
- if(!member[1]) console.log(member);
1016
+ if(!member[1]) SC.Logger.log(member);
1017
1017
 
1018
1018
  target = member[0] || this;
1019
1019
  method = member[1] ;
1020
1020
  context = member[2];
1021
1021
  member[3] = rev;
1022
1022
 
1023
- if (log) console.log('%@...firing observer on %@ for key "%@"'.fmt(spaces, target, key));
1023
+ if (log) SC.Logger.log('%@...firing observer on %@ for key "%@"'.fmt(spaces, target, key));
1024
1024
  if (context !== undefined) {
1025
1025
  method.call(target, this, key, null, context, rev);
1026
1026
  } else {
@@ -1041,7 +1041,7 @@ SC.Observable = {
1041
1041
  member = members[memberLoc];
1042
1042
  method = this[member] ; // try to find observer function
1043
1043
  if (method) {
1044
- if (log) console.log('%@...firing local observer %@.%@ for key "%@"'.fmt(spaces, this, member, key));
1044
+ if (log) SC.Logger.log('%@...firing local observer %@.%@ for key "%@"'.fmt(spaces, this, member, key));
1045
1045
  method.call(this, this, key, null, rev);
1046
1046
  }
1047
1047
  }
@@ -1059,7 +1059,7 @@ SC.Observable = {
1059
1059
  method = member[1] ;
1060
1060
  context = member[2] ;
1061
1061
 
1062
- if (log) console.log('%@...firing * observer on %@ for key "%@"'.fmt(spaces, target, key));
1062
+ if (log) SC.Logger.log('%@...firing * observer on %@ for key "%@"'.fmt(spaces, target, key));
1063
1063
  if (context !== undefined) {
1064
1064
  method.call(target, this, key, null, context, rev);
1065
1065
  } else {
@@ -1070,7 +1070,7 @@ SC.Observable = {
1070
1070
 
1071
1071
  // if there is a default property observer, call that also
1072
1072
  if (this.propertyObserver) {
1073
- if (log) console.log('%@...firing %@.propertyObserver for key "%@"'.fmt(spaces, this, key));
1073
+ if (log) SC.Logger.log('%@...firing %@.propertyObserver for key "%@"'.fmt(spaces, this, key));
1074
1074
  this.propertyObserver(this, key, null, rev);
1075
1075
  }
1076
1076
  } // while(changes.length>0)
@@ -1227,7 +1227,7 @@ SC.Observable = {
1227
1227
  getPath: function(path) {
1228
1228
  var tuple = SC.tupleForPropertyPath(path, this) ;
1229
1229
  if (tuple === null || tuple[0] === null) return undefined ;
1230
- return tuple[0].get(tuple[1]) ;
1230
+ return SC.get(tuple[0], tuple[1]) ;
1231
1231
  },
1232
1232
 
1233
1233
  /**
@@ -1366,7 +1366,7 @@ SC.Observable = {
1366
1366
  removeProbe: function(key) { this.removeObserver(key,SC.logChange); },
1367
1367
 
1368
1368
  /**
1369
- Logs the named properties to the console.
1369
+ Logs the named properties to the SC.Logger.
1370
1370
 
1371
1371
  @param {String...} propertyNames one or more property names
1372
1372
  */
@@ -1375,7 +1375,7 @@ SC.Observable = {
1375
1375
  prop, propsLen, idx;
1376
1376
  for(idx=0, propsLen = props.length; idx<propsLen; idx++) {
1377
1377
  prop = props[idx] ;
1378
- console.log('%@:%@: '.fmt(SC.guidFor(this), prop), this.get(prop)) ;
1378
+ SC.Logger.log('%@:%@: '.fmt(SC.guidFor(this), prop), this.get(prop)) ;
1379
1379
  }
1380
1380
  },
1381
1381
 
@@ -1385,7 +1385,7 @@ SC.Observable = {
1385
1385
 
1386
1386
  /** @private used by addProbe/removeProbe */
1387
1387
  SC.logChange = function logChange(target, key, value) {
1388
- console.log("CHANGE: %@[%@] => %@".fmt(target, key, target.get(key)));
1388
+ SC.Logger.log("CHANGE: %@[%@] => %@".fmt(target, key, target.get(key)));
1389
1389
  };
1390
1390
 
1391
1391
  /**
@@ -562,7 +562,7 @@ SC.Binding = {
562
562
 
563
563
  // loop through the changed queue...
564
564
  while ((queue = this._changeQueue).length > 0) {
565
- if (log) console.log("Begin: Trigger changed bindings") ;
565
+ if (log) SC.Logger.log("Begin: Trigger changed bindings") ;
566
566
 
567
567
  didFlush = YES ;
568
568
 
@@ -579,7 +579,7 @@ SC.Binding = {
579
579
  // now loop back and see if there are additional changes pending in the
580
580
  // active queue. Repeat this until all bindings that need to trigger
581
581
  // have triggered.
582
- if (log) console.log("End: Trigger changed bindings") ;
582
+ if (log) SC.Logger.log("End: Trigger changed bindings") ;
583
583
  }
584
584
 
585
585
  // clean up
@@ -608,7 +608,7 @@ SC.Binding = {
608
608
  // the from property value will always be the binding value, update if
609
609
  // needed.
610
610
  if (!this._oneWay && this._fromTarget) {
611
- if (log) console.log("%@: %@ -> %@".fmt(this, v, tv)) ;
611
+ if (log) SC.Logger.log("%@: %@ -> %@".fmt(this, v, tv)) ;
612
612
  if (bench) SC.Benchmark.start(this.toString() + "->") ;
613
613
  this._fromTarget.setPathIfChanged(this._fromPropertyKey, v) ;
614
614
  if (bench) SC.Benchmark.end(this.toString() + "->") ;
@@ -616,7 +616,7 @@ SC.Binding = {
616
616
 
617
617
  // update the to value with the transformed value if needed.
618
618
  if (this._toTarget) {
619
- if (log) console.log("%@: %@ <- %@".fmt(this, v, tv)) ;
619
+ if (log) SC.Logger.log("%@: %@ <- %@".fmt(this, v, tv)) ;
620
620
  if (bench) SC.Benchmark.start(this.toString() + "<-") ;
621
621
  this._toTarget.setPathIfChanged(this._toPropertyKey, tv) ;
622
622
  if (bench) SC.Benchmark.start(this.toString() + "<-") ;
@@ -52,7 +52,7 @@ SC.RunLoop = SC.Object.extend(/** @scope SC.RunLoop.prototype */ {
52
52
  beginRunLoop: function() {
53
53
  this._start = new Date().getTime() ; // can't use Date.now() in runtime
54
54
  if (SC.LOG_BINDINGS || SC.LOG_OBSERVERS) {
55
- console.log("-- SC.RunLoop.beginRunLoop at %@".fmt(this._start));
55
+ SC.Logger.log("-- SC.RunLoop.beginRunLoop at %@".fmt(this._start));
56
56
  }
57
57
  this._runLoopInProgress = YES;
58
58
  return this ;
@@ -83,7 +83,7 @@ SC.RunLoop = SC.Object.extend(/** @scope SC.RunLoop.prototype */ {
83
83
  // out completely.
84
84
 
85
85
  if (SC.LOG_BINDINGS || SC.LOG_OBSERVERS) {
86
- console.log("-- SC.RunLoop.endRunLoop ~ flushing application queues");
86
+ SC.Logger.log("-- SC.RunLoop.endRunLoop ~ flushing application queues");
87
87
  }
88
88
 
89
89
  this.flushAllPending();
@@ -91,7 +91,7 @@ SC.RunLoop = SC.Object.extend(/** @scope SC.RunLoop.prototype */ {
91
91
  this._start = null ;
92
92
 
93
93
  if (SC.LOG_BINDINGS || SC.LOG_OBSERVERS) {
94
- console.log("-- SC.RunLoop.endRunLoop ~ End");
94
+ SC.Logger.log("-- SC.RunLoop.endRunLoop ~ End");
95
95
  }
96
96
 
97
97
  SC.RunLoop.lastRunLoopEnd = Date.now();
@@ -11,7 +11,7 @@
11
11
  // BUILT-IN ARRAY
12
12
  //
13
13
 
14
- sc_require('debug/test_suites/array/base');
14
+ sc_require('debug/test_suites/array');
15
15
 
16
16
  SC.ArraySuite.generate("built-in Array");
17
17
 
@@ -370,6 +370,21 @@ CoreTest.Plan = {
370
370
 
371
371
  });
372
372
  },
373
+
374
+ clearHtmlbody: function(){
375
+ var body = Q$('body')[0];
376
+
377
+ // first, find the first element with id 'htmlbody-begin' if exists,
378
+ // remove everything after that to reset...
379
+ var begin = Q$('body #htmlbody-begin')[0];
380
+ if (!begin) {
381
+ begin = Q$('<div id="htmlbody-begin"></div>')[0];
382
+ body.appendChild(begin);
383
+ } else {
384
+ while(begin.nextSibling) body.removeChild(begin.nextSibling);
385
+ }
386
+ begin = null;
387
+ },
373
388
 
374
389
  /**
375
390
  Converts the passed string into HTML and then appends it to the main body
@@ -377,24 +392,13 @@ CoreTest.Plan = {
377
392
  main page.
378
393
  */
379
394
  htmlbody: function htmlbody(string) {
380
- this.synchronize(function() {
381
- var html = Q$(string) ;
382
- var body = Q$('body')[0];
383
-
384
- // first, find the first element with id 'htmlbody-begin' if exists,
385
- // remove everything after that to reset...
386
- var begin = Q$('body #htmlbody-begin')[0];
387
- if (!begin) {
388
- begin = Q$('<div id="htmlbody-begin"></div>')[0];
389
- body.appendChild(begin);
390
- } else {
391
- while(begin.nextSibling) body.removeChild(begin.nextSibling);
392
- }
393
- begin = null;
395
+ var html = Q$(string) ;
396
+ var body = Q$('body')[0];
397
+
398
+ this.clearHtmlbody();
394
399
 
395
- // now append new content
396
- html.each(function() { body.appendChild(this); });
397
- }) ;
400
+ // now append new content
401
+ html.each(function() { body.appendChild(this); });
398
402
  },
399
403
 
400
404
  /**
@@ -690,6 +694,10 @@ window.test = function(desc, func) {
690
694
  };
691
695
 
692
696
  // reset htmlbody for unit testing
697
+ window.clearHtmlbody = function() {
698
+ CoreTest.defaultPlan().clearHtmlbody();
699
+ };
700
+
693
701
  window.htmlbody = function(string) {
694
702
  CoreTest.defaultPlan().htmlbody(string);
695
703
  };
@@ -1,27 +1,33 @@
1
1
  @theme(sc-small-size) {
2
-
2
+
3
3
  $theme.button {
4
-
4
+
5
5
  .sc-button-label {
6
6
  font-size: 11px;
7
7
  margin-top:-4px;
8
8
  height: 18px;
9
9
  padding-top:2px;
10
10
  }
11
-
11
+
12
12
  @include slices("normal_button.png", $left: 3, $right: 3);
13
-
13
+
14
14
  &.active {
15
- @include slices("active_button.png", $left: 3, $right: 3);
15
+ @include slices("active_button.png", $left: 3, $right: 3);
16
16
  }
17
-
17
+
18
18
  &.sel, &.def {
19
- @include slices("selected_button.png", $left: 3, $right: 3);
20
-
21
- &.sel.active, &.def.active {
22
- @include slices("selected_active_button.png", $left: 3, $right: 3);
23
- }
19
+ @include slices("selected_button.png", $left: 3, $right: 3);
20
+
21
+ }
22
+
23
+ &.sel.active, &.def.active {
24
+ @include slices("selected_active_button.png", $left: 3, $right: 3);
25
+ }
26
+
27
+ &.sc-static-layout .sc-button-label {
28
+ margin-left: 3px;
29
+ margin-right: 3px;
24
30
  }
25
31
  }
26
-
32
+
27
33
  }
@@ -1,83 +1,97 @@
1
1
  @theme(sc-regular-size) {
2
-
2
+
3
3
  $theme.button {
4
-
4
+
5
5
  .sc-button-label {
6
6
  height: 24px;
7
7
  padding-top:2px;
8
8
  }
9
-
9
+
10
10
  @include slices("normal_button.png", $left: 3, $right: 3);
11
-
11
+
12
12
  &.active {
13
- @include slices("active_button.png", $left: 3, $right: 3);
13
+ @include slices("active_button.png", $left: 3, $right: 3);
14
14
  }
15
-
15
+
16
16
  &.sel, &.def {
17
- @include slices("selected_button.png", $left: 3, $right: 3);
18
-
19
- &.sel.active, &.def.active {
20
- @include slices("selected_active_button.png", $left: 3, $right: 3);
21
- }
17
+ @include slices("selected_button.png", $left: 3, $right: 3);
18
+ }
19
+
20
+ &.sel.active, &.def.active {
21
+ @include slices("selected_active_button.png", $left: 3, $right: 3);
22
+ }
23
+
24
+ &.sc-static-layout .sc-button-label {
25
+ margin-left: 12px;
26
+ margin-right: 12px;
22
27
  }
23
28
  }
24
29
 
25
30
  @theme(point-left) {
26
31
  $theme.button {
27
32
  @include slices("normal_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-right);
28
-
33
+
29
34
  .middle { left: 12px; }
30
35
 
31
36
  &.active {
32
37
  @include slices("active_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-right);
38
+ .middle { left: 12px; }
33
39
  }
34
40
 
35
41
  &.sel, &.def {
36
42
  @include slices("selected_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-right);
43
+ .middle { left: 12px; }
37
44
  }
38
45
 
39
46
  &.sel.active, &.def.active {
40
47
  @include slices("selected_active_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-right);
48
+ .middle { left: 12px; }
41
49
  }
42
50
  }
43
51
  }
44
-
52
+
45
53
  @theme(point-right) {
46
54
  $theme.button {
47
55
  @include slices("normal_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-left);
48
-
56
+
49
57
  .middle { right: 12px; }
50
58
 
51
59
  &.active {
52
60
  @include slices("active_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-left);
61
+ .middle { right: 12px; }
53
62
  }
54
63
 
55
64
  &.sel, &.def {
56
65
  @include slices("selected_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-left);
66
+ .middle { right: 12px; }
57
67
  }
58
68
 
59
69
  &.sel.active, &.def.active {
60
70
  @include slices("selected_active_button_pointer.png", $left: 12, $right: 12, skip-middle, skip-left);
71
+ .middle { right: 12px; }
61
72
  }
62
73
  }
63
74
  }
64
-
75
+
65
76
  @theme(capsule) {
66
77
  $theme.button {
67
78
  @include slices("normal_button_capsule.png", $left: 12, $right: 12, skip-middle);
68
-
79
+
69
80
  .middle { left: 12px; right: 12px; }
70
81
 
71
82
  &.active {
72
83
  @include slices("active_button_capsule.png", $left: 12, $right: 12, skip-middle);
84
+ .middle { left: 12px; right: 12px; }
73
85
  }
74
86
 
75
87
  &.sel, &.def {
76
88
  @include slices("selected_button_capsule.png", $left: 12, $right: 12, skip-middle);
89
+ .middle { left: 12px; right: 12px; }
77
90
  }
78
91
 
79
92
  &.sel.active, &.def.active {
80
93
  @include slices("selected_active_button_capsule.png", $left: 12, $right: 12, skip-middle);
94
+ .middle { left: 12px; right: 12px; }
81
95
  }
82
96
  }
83
97
  }