sproutcore 1.7.1.beta → 1.8.0
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.
- data/CHANGELOG +44 -0
- data/README.rdoc +20 -20
- data/VERSION.yml +3 -3
- data/lib/Buildfile +1 -1
- data/lib/buildtasks/build.rake +5 -0
- data/lib/buildtasks/manifest.rake +19 -1
- data/lib/frameworks/sproutcore/Buildfile +19 -17
- data/lib/frameworks/sproutcore/CHANGELOG.md +163 -29
- data/lib/frameworks/sproutcore/README.md +29 -8
- data/lib/frameworks/sproutcore/apps/statechart_routing/Buildfile +12 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/login_controller.js +11 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/main_controller.js +7 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/statechart_controller.js +17 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +25 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/main.js +15 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/_theme.css +18 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/bar_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/foo_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/loading.rhtml +9 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +61 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/main_page.js +46 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/statechart.js +76 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/theme.js +27 -0
- data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +14 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +8 -5
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +302 -70
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +19 -14
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +471 -149
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +42 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/action_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +37 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +66 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +58 -57
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js.orig +445 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +51 -31
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +53 -69
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +98 -72
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +37 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +7 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +21 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/content_destroyed.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +23 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/browser.js +66 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/event.js +22 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +17 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +50 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +46 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +1 -43
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +8 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +6 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +35 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +46 -19
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +23 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +294 -302
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js.orig +1531 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +14 -11
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/many_array.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +50 -10
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +114 -67
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +54 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +29 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +37 -45
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +127 -127
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushRelationships.js +42 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +1 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +19 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +30 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +24 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +121 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +39 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +1 -51
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +11 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +107 -81
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +68 -60
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +57 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +21 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +32 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +77 -132
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +5 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +16 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +52 -52
- data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +147 -147
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +11 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +22 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +462 -441
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +48 -62
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +150 -32
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +104 -45
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +42 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +148 -154
- data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +8 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/files.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/view_configs.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/mixins/drop_down.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/web.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +59 -53
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -10
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js +17 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js +38 -14
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +5 -13
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +19 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +20 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +35 -12
- data/lib/frameworks/sproutcore/frameworks/formatters/README +6 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/english.lproj/strings.js +174 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +351 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/tests/date_formatter.js +517 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +345 -138
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +176 -42
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +137 -105
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +16 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +47 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +0 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/bootstrap.rhtml +34 -19
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +1 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +8 -9
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +179 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +34 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +26 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +12 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_metric_optimization.js +202 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +77 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +163 -149
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -43
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +67 -54
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -38
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +285 -242
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +19 -22
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +231 -186
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +145 -143
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +156 -154
- data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js.orig +540 -0
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +15 -8
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +98 -32
- data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +7 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +14 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +98 -13
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +8 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +23 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +69 -18
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +57 -31
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +189 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +82 -22
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +20 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +125 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +37 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +75 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart_delegate.js +113 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +312 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +18 -22
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +508 -131
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +265 -44
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +11 -3
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/private/state_path_matcher.js +116 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/add_substate.js +108 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/with_concurrent.js +179 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/without_concurrent.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_state.js +141 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_substate.js +340 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/route_triggered.js +161 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/try_to_handle_event.js +288 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +5 -33
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +213 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +212 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{state/namespacing.js → statechart/methods/get_state.js} +3 -41
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/{invoke_state_method.js → methods/invoke_state_method.js} +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{event_handling/advanced → statechart}/respond_to_event.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/system/state_route_handler_context/methods/retry.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/table/core.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/controls/button.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars.js +29 -5
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/bind.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/collection.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/localization.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/view.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{handlebars → template_view}/handlebars.js +493 -357
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/text_field_support.js +13 -2
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/controls/button.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/text_field_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/collection.js +39 -14
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/handlebars.js +57 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/bindable_span.js +21 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template_collection.js +55 -26
- data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +122 -122
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/base.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +0 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +4 -4
- data/lib/frameworks/sproutcore/lib/index.rhtml +55 -32
- data/lib/frameworks/sproutcore/license.js +2 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/body.css +5 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +21 -13
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +17 -10
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +4 -3
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +20 -12
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +16 -8
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/jumbo/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/small/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +5 -3
- data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/toolbar.css +1 -1
- data/lib/gen/app/USAGE +17 -4
- data/lib/gen/language/Buildfile +4 -4
- data/lib/gen/language/USAGE +4 -4
- data/lib/gen/page/templates/pages/@target_name@/Buildfile +7 -7
- data/lib/gen/{html_app → statechart_app}/Buildfile +0 -0
- data/lib/gen/{html_app → statechart_app}/README +0 -0
- data/lib/gen/statechart_app/USAGE +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/Buildfile +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/core.js +24 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/main.js +26 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/_theme.css +18 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/loading.rhtml +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/main_page.js +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/statechart.js +8 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/states/ready_state.js +12 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/theme.js +24 -0
- data/lib/sproutcore/builders.rb +1 -0
- data/lib/sproutcore/builders/base.rb +19 -1
- data/lib/sproutcore/builders/chance_file.rb +6 -1
- data/lib/sproutcore/builders/handlebars.rb +1 -9
- data/lib/sproutcore/builders/javascript.rb +1 -10
- data/lib/sproutcore/builders/json.rb +25 -0
- data/lib/sproutcore/builders/less.rb +1 -1
- data/lib/sproutcore/builders/sass.rb +1 -1
- data/lib/sproutcore/builders/stylesheet.rb +1 -9
- data/lib/sproutcore/helpers/html5_manifest.rb +1 -1
- data/lib/sproutcore/helpers/static_helper.rb +42 -0
- data/lib/sproutcore/rack/proxy.rb +21 -3
- data/lib/sproutcore/rack/service.rb +3 -2
- data/lib/sproutcore/tools.rb +18 -25
- data/lib/sproutcore/tools/gen.rb +10 -3
- data/lib/sproutcore/tools/init.rb +11 -10
- data/spec/buildtasks/manifest/prepare_build_tasks/json_spec.rb +62 -0
- data/spec/fixtures/builder_tests/apps/handlebars_test/Buildfile +1 -1
- data/spec/fixtures/builder_tests/apps/json_test/sc_static.json +2 -0
- data/spec/lib/builders/json_spec.rb +53 -0
- data/sproutcore.gemspec +2 -2
- data/vendor/chance/lib/chance/parser.rb +1 -1
- metadata +222 -177
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +0 -259
- data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +0 -69
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +0 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +0 -64
- data/lib/frameworks/sproutcore/frameworks/mini/license.js +0 -30
- data/lib/gen/html_app/USAGE +0 -15
- data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +0 -11
- data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
- data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +0 -6
- data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +0 -1
- data/lib/gen/html_project/Buildfile +0 -45
- data/lib/gen/html_project/INIT +0 -3
- data/lib/gen/html_project/README +0 -1
- data/lib/gen/html_project/USAGE +0 -2
- data/lib/gen/html_project/templates/@filename@/Buildfile +0 -5
- data/lib/gen/html_project/templates/@filename@/README +0 -4
|
@@ -129,7 +129,7 @@ SC.mixin(SC.String, {
|
|
|
129
129
|
// NB: This could be implemented as a wrapper to locWithDefault() but
|
|
130
130
|
// it would add some overhead to deal with the arguments and adds stack
|
|
131
131
|
// frames, so we are keeping the implementation separate.
|
|
132
|
-
if(!SC.Locale.currentLocale) { SC.Locale.createCurrentLocale(); }
|
|
132
|
+
if (!SC.Locale.currentLocale) { SC.Locale.createCurrentLocale(); }
|
|
133
133
|
|
|
134
134
|
var localized = SC.Locale.currentLocale.locWithDefault(str);
|
|
135
135
|
if (SC.typeOf(localized) !== SC.T_STRING) { localized = str; }
|
|
@@ -137,9 +137,23 @@ SC.mixin(SC.String, {
|
|
|
137
137
|
var args = SC.$A(arguments);
|
|
138
138
|
args.shift(); // remove str param
|
|
139
139
|
//to extend String.prototype
|
|
140
|
-
if(args.length>0 && args[0].isSCArray) args=args[0];
|
|
140
|
+
if (args.length > 0 && args[0] && args[0].isSCArray) { args = args[0]; }
|
|
141
|
+
|
|
142
|
+
// I looked up the performance of try/catch. IE and FF do not care so
|
|
143
|
+
// long as the catch never happens. Safari and Chrome are affected rather
|
|
144
|
+
// severely (10x), but this is a one-time cost per loc (the code being
|
|
145
|
+
// executed is likely as expensive as this try/catch cost).
|
|
146
|
+
//
|
|
147
|
+
// Also, .loc() is not called SO much to begin with. So, the error handling
|
|
148
|
+
// that this gives us is worth it.
|
|
149
|
+
try {
|
|
150
|
+
return SC.String.fmt(localized, args);
|
|
151
|
+
} catch (e) {
|
|
152
|
+
SC.error("Error processing string with key: " + str);
|
|
153
|
+
SC.error("Localized String: " + localized);
|
|
154
|
+
SC.error("Error: " + e);
|
|
155
|
+
}
|
|
141
156
|
|
|
142
|
-
return SC.String.fmt(localized, args);
|
|
143
157
|
},
|
|
144
158
|
|
|
145
159
|
/**
|
|
@@ -280,7 +294,27 @@ SC.mixin(SC.String, {
|
|
|
280
294
|
*/
|
|
281
295
|
trimRight: function (str) {
|
|
282
296
|
return str.replace(SC.STRING_TRIM_RIGHT_REGEXP,"");
|
|
297
|
+
},
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
Mulitplies a given string. For instance if you have a string "xyz"
|
|
301
|
+
and multiply it by 2 the result is "xyzxyz".
|
|
302
|
+
|
|
303
|
+
@param {String} str the string to multiply
|
|
304
|
+
@param {Number} value the number of times to multiply the string
|
|
305
|
+
@returns {String} the mulitiplied string
|
|
306
|
+
*/
|
|
307
|
+
mult: function(str, value) {
|
|
308
|
+
if (SC.typeOf(value) !== SC.T_NUMBER || value < 1) return null;
|
|
309
|
+
|
|
310
|
+
var ret = "";
|
|
311
|
+
for (var i = 0; i < value; i += 1) {
|
|
312
|
+
ret += str;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
return ret;
|
|
283
316
|
}
|
|
317
|
+
|
|
284
318
|
});
|
|
285
319
|
|
|
286
320
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
Timers were created for SproutCore as a way to efficiently defer execution
|
|
20
20
|
of code fragments for use in Animations, event handling, and other tasks.
|
|
21
21
|
|
|
22
|
-
Browsers are typically fairly
|
|
22
|
+
Browsers are typically fairly inconsistent about when they will fire a
|
|
23
23
|
timeout or interval based on what the browser is currently doing. Timeouts
|
|
24
24
|
and intervals are also fairly expensive for a browser to execute, which
|
|
25
25
|
means if you schedule a large number of them it can quickly slow down the
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
Timers, on the other handle, are scheduled cooperatively using the
|
|
29
29
|
SC.RunLoop, which uses exactly one timeout to fire itself when needed and
|
|
30
30
|
then executes by timers that need to fire on its own. This approach can
|
|
31
|
-
be many
|
|
31
|
+
be many times faster than using timers and guarantees that timers scheduled
|
|
32
32
|
to execute at the same time generally will do so, keeping animations and
|
|
33
33
|
other operations in sync.
|
|
34
34
|
|
|
@@ -319,7 +319,10 @@ SC.Timer = SC.Object.extend(
|
|
|
319
319
|
invalidate: function() {
|
|
320
320
|
this.beginPropertyChanges();
|
|
321
321
|
this.set('isValid', NO);
|
|
322
|
-
|
|
322
|
+
|
|
323
|
+
var runLoop = SC.RunLoop.currentRunLoop;
|
|
324
|
+
if(runLoop) runLoop.cancelTimer(this);
|
|
325
|
+
|
|
323
326
|
this.action = this.target = null ; // avoid memory leaks
|
|
324
327
|
this.endPropertyChanges();
|
|
325
328
|
|
|
@@ -414,7 +417,7 @@ SC.Timer = SC.Object.extend(
|
|
|
414
417
|
Resets the timer settings with the new settings. This is the method
|
|
415
418
|
called by the Timer pool when a timer is reused. You will not normally
|
|
416
419
|
call this method yourself, though you could override it if you need to
|
|
417
|
-
reset
|
|
420
|
+
reset additional properties when a timer is reused.
|
|
418
421
|
|
|
419
422
|
@params {Hash} props properties to copy over
|
|
420
423
|
@returns {SC.Timer} receiver
|
data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js
CHANGED
|
@@ -183,6 +183,27 @@ test("array orderBy using function", function(){
|
|
|
183
183
|
// ADD SPECIAL CASES HERE
|
|
184
184
|
//
|
|
185
185
|
|
|
186
|
+
test("verify length is correct in arrayObserver didChange method when orderBy is set", function () {
|
|
187
|
+
content = [];
|
|
188
|
+
controller = SC.ArrayController.create({
|
|
189
|
+
content: content,
|
|
190
|
+
orderBy: 'i haz your content!'
|
|
191
|
+
});
|
|
192
|
+
expect(2);
|
|
193
|
+
|
|
194
|
+
controller.addArrayObservers({
|
|
195
|
+
willChange: function () {
|
|
196
|
+
equals(this.get('length'), 0, 'length should be 0');
|
|
197
|
+
},
|
|
198
|
+
|
|
199
|
+
didChange: function () {
|
|
200
|
+
equals(this.get('length'), 1, 'length should be 1');
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
content.pushObject(":{");
|
|
205
|
+
});
|
|
206
|
+
|
|
186
207
|
test("verify rangeObserver fires when content is deleted", function() {
|
|
187
208
|
|
|
188
209
|
content = "1 2 3 4 5".w().map(function(x) {
|
|
@@ -9,7 +9,7 @@ var content, newContent, controller, destroyCount;
|
|
|
9
9
|
|
|
10
10
|
// ..........................................................
|
|
11
11
|
// SINGLE OBSERVABLE OBJECT
|
|
12
|
-
//
|
|
12
|
+
//
|
|
13
13
|
|
|
14
14
|
SC.TestObject = SC.Object.extend();
|
|
15
15
|
|
|
@@ -21,20 +21,20 @@ SC.TestObject.reopen({
|
|
|
21
21
|
|
|
22
22
|
module("SC.ObjectController - content destroyed", {
|
|
23
23
|
setup: function() {
|
|
24
|
-
content = SC.TestObject.create({
|
|
24
|
+
content = SC.TestObject.create({
|
|
25
25
|
foo: "foo1", bar: "bar1"
|
|
26
26
|
});
|
|
27
27
|
newContent = SC.Object.create({
|
|
28
28
|
foo: "foo2"
|
|
29
29
|
});
|
|
30
30
|
destroyCount = 0;
|
|
31
|
-
|
|
32
|
-
controller = SC.ObjectController.create({
|
|
31
|
+
|
|
32
|
+
controller = SC.ObjectController.create({
|
|
33
33
|
destroyContentOnReplace: YES,
|
|
34
|
-
content: content
|
|
34
|
+
content: content
|
|
35
35
|
});
|
|
36
36
|
},
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
teardown: function() {
|
|
39
39
|
controller.destroy();
|
|
40
40
|
}
|
|
@@ -56,4 +56,4 @@ test("Setting content should NOT call 'destroy' on old content if destroyContent
|
|
|
56
56
|
test("Setting content should NOT call 'destroy' if set to the same object", function() {
|
|
57
57
|
controller.set('content', content);
|
|
58
58
|
equals(destroyCount, 0, 'destroyCount');
|
|
59
|
-
});
|
|
59
|
+
});
|
|
@@ -76,6 +76,20 @@ test("Localize a string with mutliple parameters", function() {
|
|
|
76
76
|
equals(SC.String.loc("Test.Multiple", 'parameter1', 'parameter2'), 'parameter1 parameter2', "Localizing with multiple parameters - using SC.String.loc");
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
+
test("Localize a string with null or missing parameters", function() {
|
|
80
|
+
equals("Test".loc(null), "null", "Localizing with null parameter - using String.prototype.loc");
|
|
81
|
+
equals(SC.String.loc("Test", null), "null", "Localizing with null parameter - using SC.String.loc");
|
|
82
|
+
|
|
83
|
+
equals("Test".loc(), "", "Localizing with missing parameter - using String.prototype.loc");
|
|
84
|
+
equals(SC.String.loc("Test"), "", "Localizing with missing parameter - using SC.String.loc");
|
|
85
|
+
|
|
86
|
+
equals("Test.Multiple".loc("p1", null), "p1 null", "Localizing multiple with null parameter - using String.prototype.loc");
|
|
87
|
+
equals(SC.String.loc("Test.Multiple", "p1", null), "p1 null", "Localizing with null parameter - using SC.String.loc");
|
|
88
|
+
|
|
89
|
+
equals("Test.Multiple".loc("p1"), "p1 ", "Localizing multiple with missing parameter - using String.prototype.loc");
|
|
90
|
+
equals(SC.String.loc("Test.Multiple", "p1"), "p1 ", "Localizing with missing parameter - using SC.String.loc");
|
|
91
|
+
});
|
|
92
|
+
|
|
79
93
|
test("Localize a string even if localized version is empty", function() {
|
|
80
94
|
equals("empty".loc(), "", "Using String.prototype.loc");
|
|
81
95
|
equals(SC.String.loc("empty"), "", "Using SC.String.loc");
|
|
@@ -115,4 +129,12 @@ test("Access a localized layout hash", function() {
|
|
|
115
129
|
should_throw(function() {
|
|
116
130
|
"Button".locLayout({left:10});
|
|
117
131
|
}, Error, "locLayout(): There is a localized value for the key 'Button.left' but a value for 'left' was also specified in the non-localized hash");
|
|
118
|
-
});
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
test("Multiply string", function() {
|
|
135
|
+
equals('a'.mult(0), null);
|
|
136
|
+
equals('a'.mult(1), 'a');
|
|
137
|
+
equals('a'.mult(2), 'aa');
|
|
138
|
+
equals('xyz'.mult(1), 'xyz');
|
|
139
|
+
equals('xyz'.mult(2), 'xyzxyz');
|
|
140
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// ==========================================================================
|
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
|
3
|
+
// Copyright: ©2006-2011 Strobe Inc. and contributors.
|
|
4
|
+
// Portions ©2008-2011 Apple Inc. All rights reserved.
|
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
|
6
|
+
// ==========================================================================
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
test("SC.browser.compare()", function() {
|
|
10
|
+
var browser;
|
|
11
|
+
|
|
12
|
+
// Use SC.browser.compare() to determine if the given OS is Mac OS 10.7 "Lion"
|
|
13
|
+
// like as was/is in use in SC.TextFieldView.
|
|
14
|
+
equals(SC.browser.compare('10.6.8', '10.7'), -1, "'10.6.8' compared to '10.7' should be -1");
|
|
15
|
+
equals(SC.browser.compare('10.7', '10.7'), 0, "'10.7' compared to '10.7' should be 0");
|
|
16
|
+
equals(SC.browser.compare('10.7.1', '10.7'), 0, "'10.7.1' compared to '10.7' should be 0");
|
|
17
|
+
equals(SC.browser.compare('10.8', '10.7'), 1, "'10.8' compared to '10.7' should be 1");
|
|
18
|
+
|
|
19
|
+
equals(SC.browser.compare('10.6.8', 10.7), -1, "'10.6.8' compared to 10.7 should be -1");
|
|
20
|
+
equals(SC.browser.compare('10.7', 10.7), 0, "'10.7' compared to 10.7 should be 0");
|
|
21
|
+
equals(SC.browser.compare('10.7.1', 10.7), 0, "'10.7.1' compared to 10.7 should be 0");
|
|
22
|
+
equals(SC.browser.compare('10.8', 10.7), 1, "'10.8' compared to 10.7 should be 1");
|
|
23
|
+
|
|
24
|
+
// Use SC.browser.compare() to determine if the given browser is Firefox 3.5
|
|
25
|
+
// like as was/is in use in SC.RootResponder.
|
|
26
|
+
equals(SC.browser.compare('1.8.10', '1.9.1'), -1, "'1.8.10' compared to '1.9.1' should be -1");
|
|
27
|
+
equals(SC.browser.compare('1.9.0', '1.9.1'), -1, "'1.9.0' compared to '1.9.1' should be -1");
|
|
28
|
+
equals(SC.browser.compare('1.9', '1.9.1'), 0, "'1.9' compared to '1.9.1' should be 0");
|
|
29
|
+
equals(SC.browser.compare('1.9.1', '1.9.1'), 0, "'1.9.1' compared to '1.9.1' should be 0");
|
|
30
|
+
equals(SC.browser.compare('1.10', '1.9.1'), 1, "'1.10' compared to '1.9.1' should be 1");
|
|
31
|
+
|
|
32
|
+
equals(SC.browser.compare('1.9.0', 1.9), 0, "'1.9.0' compared to 1.9 should be 0");
|
|
33
|
+
equals(SC.browser.compare('1.9', 1.9), 0, "'1.9' compared to 1.9 should be 0");
|
|
34
|
+
equals(SC.browser.compare('1.9.1', 1.9), 0, "'1.9.1' compared to 1.9 should be 0");
|
|
35
|
+
equals(SC.browser.compare('1.10', 1.9), 1, "'1.10' compared to 1.9 should be 1");
|
|
36
|
+
|
|
37
|
+
// Use SC.browser.compare() to determine if the given browser is Safari 5.0.1
|
|
38
|
+
// like as was/is in use in SC.Event.
|
|
39
|
+
equals(SC.browser.compare('532.7', '533.7'), -1, "'532.7' compared to '533.7' should be -1");
|
|
40
|
+
equals(SC.browser.compare('533.6', '533.7'), -1, "'533.6' compared to '533.7' should be -1");
|
|
41
|
+
equals(SC.browser.compare('533.7', '533.7'), 0, "'533.7' compared to '533.7' should be 0");
|
|
42
|
+
equals(SC.browser.compare('533', '533.7'), 0, "'533' compared to '533.7' should be 0");
|
|
43
|
+
equals(SC.browser.compare('533.8', '533.7'), 1, "'533.8' compared to '533.7' should be 1");
|
|
44
|
+
equals(SC.browser.compare('534.7', '533.7'), 1, "'534.7' compared to '533.7' should be 1");
|
|
45
|
+
|
|
46
|
+
equals(SC.browser.compare('532.7', 533.7), -1, "'532.7' compared to 533.7 should be -1");
|
|
47
|
+
equals(SC.browser.compare('533.6', 533.7), -1, "'533.6' compared to 533.7 should be -1");
|
|
48
|
+
equals(SC.browser.compare('533.7', 533.7), 0, "'533.7' compared to 533.7 should be 0");
|
|
49
|
+
equals(SC.browser.compare('533', 533.7), 0, "'533' compared to 533.7 should be 0");
|
|
50
|
+
equals(SC.browser.compare('533.8', 533.7), 1, "'533.8' compared to 533.7 should be 1");
|
|
51
|
+
equals(SC.browser.compare('534.7', 533.7), 1, "'534.7' compared to 533.7 should be 1");
|
|
52
|
+
|
|
53
|
+
// Use SC.browser.compare() to determine if the given OS is IE7 like as
|
|
54
|
+
// was/is in use in SC.Pane.
|
|
55
|
+
equals(SC.browser.compare('6.0', '7.0'), -1, "'6.0' compared to '7.0' should be -1");
|
|
56
|
+
equals(SC.browser.compare('7.0', '7.0'), 0, "'7.0' compared to '7.0' should be 0");
|
|
57
|
+
equals(SC.browser.compare('7', '7.0'), 0, "'7' compared to '7.0' should be 0");
|
|
58
|
+
equals(SC.browser.compare('7.1', '7.0'), 1, "'7.1' compared to '7.0' should be 1");
|
|
59
|
+
equals(SC.browser.compare('8.0', '7.0'), 1, "'8.0' compared to '7.0' should be 1");
|
|
60
|
+
|
|
61
|
+
equals(SC.browser.compare('6.0', 7.0), -1, "'6.0' compared to `7.0 should be -1");
|
|
62
|
+
equals(SC.browser.compare('7.0', 7.0), 0, "'7.0' compared to 7.0 should be 0");
|
|
63
|
+
equals(SC.browser.compare('7', 7.0), 0, "'7' compared to 7.0 should be 0");
|
|
64
|
+
equals(SC.browser.compare('7.1', 7.0), 0, "'7.1' compared to 7.0 should be 0");
|
|
65
|
+
equals(SC.browser.compare('8.0', 7.0), 1, "'8.0' compared to 7.0 should be 1");
|
|
66
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// ==========================================================================
|
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
|
3
|
+
// Copyright: ©2006-2011 Strobe Inc. and contributors.
|
|
4
|
+
// ©2008-2011 Apple Inc. All rights reserved.
|
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
|
6
|
+
// ==========================================================================
|
|
7
|
+
|
|
8
|
+
// // ========================================================================
|
|
9
|
+
// SC.Event Tests
|
|
10
|
+
// ========================================================================
|
|
11
|
+
(function () {
|
|
12
|
+
module("SC.Event");
|
|
13
|
+
|
|
14
|
+
// WebKit browsers have equal values for keyCode and charCode on keypress event
|
|
15
|
+
test("commandCodes() : should handle equal keyCode and charCode on keypress", function () {
|
|
16
|
+
// 115 is also keyCode for F4 button
|
|
17
|
+
var codes = new SC.Event({ type: 'keypress', keyCode: 115, charCode: 115 }).commandCodes();
|
|
18
|
+
equals(codes[0], null, 'command');
|
|
19
|
+
equals(codes[1], 's', 'char');
|
|
20
|
+
});
|
|
21
|
+
})();
|
|
22
|
+
|
|
@@ -55,27 +55,27 @@ test("Locale.addStrings() : Should be able to add the passed hash of strings to
|
|
|
55
55
|
//Added the new languages to the existing list of locales
|
|
56
56
|
SC.Locale.addStrings(newLocales);
|
|
57
57
|
|
|
58
|
-
//Result should be true as the new
|
|
58
|
+
//Result should be true as the new locales added to the list of default locales
|
|
59
59
|
equals(true, SC.Locale.options().strings.chinese === 'zh' && SC.Locale.options().strings.dutch === 'nl') ;
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
test("Locale.options() : Should provide the registered locales that have not been instantiated", function() {
|
|
63
63
|
|
|
64
64
|
//hash of new languages
|
|
65
|
-
var newLocales = {
|
|
65
|
+
var newLocales = { jamaican: 'ji', korean: 'ko'};
|
|
66
66
|
|
|
67
67
|
//Added the new languages to the existing list of locales
|
|
68
68
|
SC.Locale.addStrings(newLocales);
|
|
69
69
|
|
|
70
|
-
//Options should return the list of registered locales, so checking if the
|
|
70
|
+
//Options should return the list of registered locales, so checking if the returned object has strings.
|
|
71
71
|
equals(SC.Locale.options().hasStrings, true) ;
|
|
72
72
|
|
|
73
73
|
//Checking the strings with default locales.
|
|
74
|
-
equals(true, SC.Locale.options().strings.
|
|
74
|
+
equals(true, SC.Locale.options().strings.jamaican === 'ji' && SC.Locale.options().strings.korean === 'ko') ;
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
test("Locale.normalizeLanguage() : Should provide the two character language code for the passed locale", function() {
|
|
78
|
-
//If nothing is passed this will
|
|
78
|
+
//If nothing is passed this will return the default code as 'en'
|
|
79
79
|
equals(SC.Locale.normalizeLanguage(), 'en') ;
|
|
80
80
|
|
|
81
81
|
//If the language is passed as 'English' this will return the code as 'en'
|
|
@@ -85,17 +85,17 @@ test("Locale.normalizeLanguage() : Should provide the two character language cod
|
|
|
85
85
|
equals(SC.Locale.normalizeLanguage('ab'), 'ab') ;
|
|
86
86
|
});
|
|
87
87
|
|
|
88
|
-
test("Locale.toString() : Should
|
|
88
|
+
test("Locale.toString() : Should return the current language set with the guid value", function() {
|
|
89
89
|
// Creating the new locale by extending an existing Locale object
|
|
90
90
|
SC.Locale.locales['mx'] = SC.Locale.extend({ _deprecatedLanguageCodes: ['mexican'] }) ;
|
|
91
91
|
|
|
92
|
-
//Result should
|
|
92
|
+
//Result should return the chinese object
|
|
93
93
|
equals(SC.Locale.locales.mx.currentLocale.isObject, true) ;
|
|
94
94
|
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
-
test("Locale.createCurrentLocale() : Should create the
|
|
98
|
-
//This will match the browser language with the SC
|
|
97
|
+
test("Locale.createCurrentLocale() : Should create the Locale Object for the language selected", function() {
|
|
98
|
+
//This will match the browser language with the SC language and create the object accordingly
|
|
99
99
|
// This test will pass only for the default languages i.e en, fr, de, ja, es, it.
|
|
100
100
|
equals(true, SC.Locale.createCurrentLocale().language === SC.browser.language) ;
|
|
101
101
|
|
|
@@ -123,7 +123,7 @@ test("Locale.define() : Should be able to define a particular type of locale", f
|
|
|
123
123
|
shortNames: ['C','A','Y','N']
|
|
124
124
|
});
|
|
125
125
|
|
|
126
|
-
//Result should
|
|
126
|
+
//Result should return the new locale object
|
|
127
127
|
equals(SC.Locale.locales.xy.isClass, true) ;
|
|
128
128
|
});
|
|
129
129
|
|
|
@@ -135,6 +135,6 @@ test("Locale.extend() : Should make sure important properties of Locale object a
|
|
|
135
135
|
//Added the new languages to the existing list of locales through the new locale object
|
|
136
136
|
SC.Locale.locales.mn.addStrings(testLocales);
|
|
137
137
|
|
|
138
|
-
//Result should be true as the new
|
|
138
|
+
//Result should be true as the new locales added to the list of default locales
|
|
139
139
|
equals(SC.Locale.locales.mn.options().strings.test,'te') ;
|
|
140
140
|
});
|
data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js
CHANGED
|
@@ -34,13 +34,13 @@ test("should emit id in tag opts.id", function() {
|
|
|
34
34
|
|
|
35
35
|
test("should emit style in tag if opts.styles is defined", function() {
|
|
36
36
|
context.styles({ alpha: "beta", foo: "bar" }).end();
|
|
37
|
-
ok(context.get(0).match(/style=\"alpha: beta; foo: bar\"/), '<div> has style="alpha: beta; foo: bar"');
|
|
37
|
+
ok(context.get(0).match(/style=\"alpha: beta; foo: bar; \"/), '<div> has style="alpha: beta; foo: bar; "');
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
test("should emit style with custom browser attributes", function() {
|
|
41
41
|
context.styles({ mozColumnCount: '3', webkitColumnCount: '3', oColumnCount: '3', msColumnCount: '3' }).end();
|
|
42
|
-
ok(context.get(0).match('<div style="-moz-column-count: 3; -webkit-column-count: 3; -o-column-count: 3; -ms-column-count: 3" >'),
|
|
43
|
-
'<div> has style="-moz-column-count: 3; -webkit-column-count: 3, -o-column-count: 3, -ms-column-count: 3"');
|
|
42
|
+
ok(context.get(0).match('<div style="-moz-column-count: 3; -webkit-column-count: 3; -o-column-count: 3; -ms-column-count: 3; " >'),
|
|
43
|
+
'<div> has style="-moz-column-count: 3; -webkit-column-count: 3, -o-column-count: 3, -ms-column-count: 3; "');
|
|
44
44
|
});
|
|
45
45
|
|
|
46
46
|
test("should write arbitrary attrs has in opts", function() {
|
|
@@ -61,7 +61,7 @@ test("opts.id should override opts.attrs.id", function() {
|
|
|
61
61
|
|
|
62
62
|
test("opts.styles should override opts.attrs.style", function() {
|
|
63
63
|
context.styles({ foo: "foo" }).attr({ style: "bar: bar" }).end();
|
|
64
|
-
ok(context.get(0).match(/style=\"foo: foo\"/), 'has style="foo: foo"');
|
|
64
|
+
ok(context.get(0).match(/style=\"foo: foo; \"/), 'has style="foo: foo; "');
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
test("should return receiver if receiver has no prevObject", function() {
|
data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// ==========================================================================
|
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
|
3
|
+
// Copyright: ©2011 Apple Inc. All rights reserved.
|
|
4
|
+
// License: Licensed under MIT license (see license.js)
|
|
5
|
+
// ==========================================================================
|
|
6
|
+
|
|
7
|
+
/*global module test equals context */
|
|
8
|
+
module("Render Context--Escaping HTML");
|
|
9
|
+
test("Escaping HTML", function() {
|
|
10
|
+
var input = "<p>HTML!</p><script>alert('hi');<" + "/script> & Hello, World!";
|
|
11
|
+
var output = SC.RenderContext.escapeHTML(input);
|
|
12
|
+
|
|
13
|
+
equals(output, '<p>HTML!</p><script>alert(\'hi\');</script> & Hello, World!', "Properly escapes HTML");
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test("Tests stolen from Prototype.js", function() {
|
|
17
|
+
var largeTextEscaped = '<span>test</span>',
|
|
18
|
+
largeTextUnescaped = '<span>test</span>';
|
|
19
|
+
for (var i = 0; i < 2048; i++) {
|
|
20
|
+
largeTextEscaped += ' ABC';
|
|
21
|
+
largeTextUnescaped += ' ABC';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
var tests = [
|
|
26
|
+
'foo bar', 'foo bar',
|
|
27
|
+
'foo <span>bar</span>', 'foo <span>bar</span>',
|
|
28
|
+
'foo ß bar', 'foo ß bar',
|
|
29
|
+
'ウィメンズ2007\nクルーズコレクション', 'ウィメンズ2007\nクルーズコレクション',
|
|
30
|
+
'a<a href="blah">blub</a>b<span><div></div></span>cdef<strong>!!!!</strong>g',
|
|
31
|
+
'a<a href="blah">blub</a>b<span><div></div></span>cdef<strong>!!!!</strong>g',
|
|
32
|
+
'1\n2', '1\n2',
|
|
33
|
+
|
|
34
|
+
largeTextUnescaped, largeTextEscaped
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
for (var idx = 0; idx < tests.length; idx++) {
|
|
38
|
+
// some of these strings are REALLY LONG so we don't want to write them out
|
|
39
|
+
ok(SC.RenderContext.escapeHTML(tests[idx++]) === tests[idx]);
|
|
40
|
+
}
|
|
41
|
+
});
|