sproutcore 1.8.2.1 → 1.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +2 -2
- data/lib/buildtasks/helpers/file_rule_list.rb +3 -3
- data/lib/frameworks/sproutcore/Buildfile +1 -1
- data/lib/frameworks/sproutcore/CHANGELOG.md +235 -16
- data/lib/frameworks/sproutcore/apps/media_examples/Buildfile +13 -0
- data/lib/frameworks/sproutcore/apps/media_examples/core.js +35 -0
- data/lib/frameworks/sproutcore/apps/media_examples/resources/loading.rhtml +3 -0
- data/lib/frameworks/sproutcore/apps/media_examples/resources/main_page.js +53 -0
- data/lib/frameworks/sproutcore/apps/media_examples/views/audio_view.js +100 -0
- data/lib/frameworks/sproutcore/apps/media_examples/views/camera_view.js +39 -0
- data/lib/frameworks/sproutcore/apps/media_examples/views/capabilities_view.js +116 -0
- data/lib/frameworks/sproutcore/apps/media_examples/views/microphone_view.js +40 -0
- data/lib/frameworks/sproutcore/apps/media_examples/views/video_view.js +107 -0
- data/lib/frameworks/sproutcore/apps/showcase/Buildfile +11 -0
- data/lib/frameworks/sproutcore/apps/showcase/README +15 -0
- data/lib/frameworks/sproutcore/apps/showcase/controllers/source_controller.js +15 -0
- data/lib/frameworks/sproutcore/apps/showcase/controllers/source_tree_controller.js +212 -0
- data/lib/frameworks/sproutcore/apps/showcase/core.js +170 -0
- data/lib/frameworks/sproutcore/apps/showcase/main.js +27 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/_theme.css +18 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/api.css +80 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/favicon.ico +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/alarm-clock.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/balloon-facebook.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/balloon-twitter.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/balloon.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/bullet.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/calendar-insert.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/cross.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/example-box-bg.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit-grape.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit-lime.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit-orange.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/fruit.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/glow.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/green-dot.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/grey-dot.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/logo.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/pixels.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/red-dot.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-logo.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-startup-landscape.jpg +0 -0
- data/lib/frameworks/sproutcore/apps/{test_controls → showcase}/resources/loading.rhtml +1 -1
- data/lib/frameworks/sproutcore/apps/showcase/resources/main_page.js +61 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/stylesheet.css +365 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/views_page.js +64 -0
- data/lib/frameworks/sproutcore/apps/showcase/system/views_item_content.js +59 -0
- data/lib/frameworks/sproutcore/apps/showcase/theme.js +27 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/button_views.js +55 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/checkbox_views.js +34 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/container_views.js +29 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/date_field_views.js +30 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/disclosure_views.js +22 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/grid_views.js +28 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/image_button_views.js +22 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/image_views.js +51 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/label_views.js +53 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/list_views.js +31 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/popup_button_views.js +24 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/progress_views.js +26 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/radio_views.js +30 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/scroll_views.js +40 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/segmented_views.js +90 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/select_views.js +64 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/slider_views.js +46 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/source_list_views.js +23 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/split_views.js +22 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/stacked_views.js +23 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/static_content_views.js +23 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/tab_views.js +51 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/text_field_views.js +52 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/toolbar_views.js +23 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/views_item_view.js +91 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/views_list_view.js +67 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/web_views.js +32 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/well_views.js +29 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/workspace_views.js +23 -0
- data/lib/frameworks/sproutcore/apps/tests/english.lproj/strings.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +91 -51
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +93 -27
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +196 -15
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +26 -10
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +90 -92
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +69 -39
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/color.js +769 -0
- data/lib/frameworks/sproutcore/frameworks/{desktop → core_foundation}/system/key_bindings.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/req_anim_frame.js +31 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +7 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils.js +8 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +49 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/selection_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/ext/object_test.js +106 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/color.js +448 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +8 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/invokeLater.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +90 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/touch.js +113 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +64 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +20 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +58 -38
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/touch.js +32 -39
- data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +20 -15
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +19 -15
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_record.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +16 -16
- data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +32 -32
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +53 -38
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +9 -8
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +26 -26
- data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +1 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +0 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +96 -8
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/datetime_recordattribute.js +22 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +376 -37
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +51 -53
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +108 -66
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +33 -35
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +6 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +33 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +181 -15
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +6 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +153 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +39 -18
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +6 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +139 -50
- data/lib/frameworks/sproutcore/frameworks/{foundation → desktop}/resources/button_view.css +3 -3
- data/lib/frameworks/sproutcore/frameworks/{foundation → desktop}/resources/checkbox_view.css +4 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/disclosure.css +2 -2
- data/lib/frameworks/sproutcore/frameworks/{foundation → desktop}/resources/radio_view.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/segmented.css +23 -17
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/web.css +5 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +4 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +3 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/collection_fast_path.js +58 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +79 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +13 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/drag_and_drop.js +147 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +123 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/drag_and_drop.js +150 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +58 -44
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +9 -80
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +54 -130
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/observers.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +64 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/methods.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +28 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/methods.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/ui.js +141 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +69 -36
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +27 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +41 -25
- data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +51 -89
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +59 -34
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +59 -49
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroll.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +14 -14
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +8 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +13 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/colors.js +21 -22
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +26 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +4 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/image_queue.js +68 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js +10 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +0 -10
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +24 -59
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +47 -34
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +96 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +38 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +38 -50
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +6 -2
- data/lib/frameworks/sproutcore/frameworks/media/media_capabilities.js +211 -0
- data/lib/frameworks/sproutcore/frameworks/media/render_delegates/media_slider.js +77 -0
- data/lib/frameworks/sproutcore/frameworks/media/resources/playeras3.fla +0 -0
- data/lib/frameworks/sproutcore/frameworks/media/resources/video.css +129 -115
- data/lib/frameworks/sproutcore/frameworks/media/resources/videoCanvas.swf +0 -0
- data/lib/frameworks/sproutcore/frameworks/media/tests/media_capabilities.js +194 -0
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +56 -173
- data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +15 -18
- data/lib/frameworks/sproutcore/frameworks/media/views/media_slider.js +63 -219
- data/lib/frameworks/sproutcore/frameworks/media/views/mini_controls.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/media/views/simple_controls.js +4 -8
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +51 -160
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +138 -102
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +32 -12
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +28 -24
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +111 -12
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +9 -7
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable.js +160 -115
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/enhance.js +64 -19
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/mixin.js +83 -0
- data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/bind.js +3 -0
- data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/collection.js +13 -0
- data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/handlebars.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/template_view/views/template_collection.js +5 -5
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +5 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +13 -12
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +9 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress.css +105 -5
- data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_indeterminate_content.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented.css +19 -15
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented.css +93 -21
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_vertical_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented.css +91 -15
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_vertical_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented.css +21 -17
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/segmented.css +26 -25
- data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/menu_item_view.css +2 -4
- data/lib/sproutcore/helpers/minifier.rb +5 -5
- data/lib/sproutcore/tools/build.rb +1 -1
- data/sproutcore.gemspec +6 -1
- data/vendor/chance/lib/chance/instance/slicing.rb +2 -2
- metadata +143 -60
- data/lib/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/alert.js +0 -39
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/buttons.js +0 -21
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/categories.js +0 -125
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/category.js +0 -36
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/select.js +0 -12
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/split.js +0 -74
- data/lib/frameworks/sproutcore/apps/test_controls/core.js +0 -29
- data/lib/frameworks/sproutcore/apps/test_controls/main.js +0 -14
- data/lib/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +0 -158
- data/lib/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +0 -53
- data/lib/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +0 -85
- data/lib/frameworks/sproutcore/apps/test_controls/resources/list_page.js +0 -40
- data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.css +0 -60
- data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.js +0 -151
- data/lib/frameworks/sproutcore/apps/test_controls/resources/panels_page.js +0 -62
- data/lib/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +0 -33
- data/lib/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +0 -55
- data/lib/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +0 -77
- data/lib/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +0 -99
- data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +0 -75
- data/lib/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +0 -54
- data/lib/frameworks/sproutcore/apps/test_controls/resources/split_page.js +0 -141
- data/lib/frameworks/sproutcore/apps/test_controls/resources/strings.js +0 -50
- data/lib/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +0 -53
- data/lib/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +0 -65
- data/lib/frameworks/sproutcore/apps/test_controls/theme.js +0 -34
- data/lib/frameworks/sproutcore/apps/tests/tests/controllers/detail.js +0 -15
- data/lib/frameworks/sproutcore/apps/tests/tests/controllers/source.js +0 -15
- data/lib/frameworks/sproutcore/apps/tests/tests/controllers/target.js +0 -15
- data/lib/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +0 -15
- data/lib/frameworks/sproutcore/apps/tests/tests/controllers/tests.js +0 -15
- data/lib/frameworks/sproutcore/apps/tests/tests/models/target.js +0 -15
- data/lib/frameworks/sproutcore/apps/tests/tests/models/test.js +0 -15
- data/lib/frameworks/sproutcore/apps/tests/tests/views/offset_checkbox.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +0 -21
@@ -48,6 +48,17 @@ var pane;
|
|
48
48
|
isEnabled: NO,
|
49
49
|
layout: { height: 25 }
|
50
50
|
})
|
51
|
+
.add("3_items,2_sel,1_disabled", SC.SegmentedView, {
|
52
|
+
items: [
|
53
|
+
{ value: "Item1" },
|
54
|
+
{ value: "Item2", isEnabled: false },
|
55
|
+
{ value: "Item3" }],
|
56
|
+
itemTitleKey: 'value',
|
57
|
+
itemValueKey: 'value',
|
58
|
+
itemIsEnabledKey: 'isEnabled',
|
59
|
+
value: ["Item1","Item2"],
|
60
|
+
layout: { height: 25 }
|
61
|
+
})
|
51
62
|
.add("3_items,icon,2_sel", SC.SegmentedView, {
|
52
63
|
items: [
|
53
64
|
{ value: "Item1", icon: iconURL },
|
@@ -196,8 +207,9 @@ var pane;
|
|
196
207
|
ok(pane.view('3_items,1_sel').get('isVisibleInWindow'), '3_items,1_sel.isVisibleInWindow should be YES');
|
197
208
|
ok(pane.view('2_items,toolTip').get('isVisibleInWindow'), '2_items,toolTip.isVisibleInWindow should be YES');
|
198
209
|
ok(pane.view('3_items,1_sel,disabled').get('isVisibleInWindow'), '3_items,1_sel,disabled.isVisibleInWindow should be YES');
|
199
|
-
ok(pane.view('3_items,icon,2_sel').get('isVisibleInWindow'), '3_items,icon,2_sel.isVisibleInWindow should be YES');
|
200
210
|
ok(pane.view('3_items,2_sel,disabled').get('isVisibleInWindow'), '3_items,2_sel,disabled.isVisibleInWindow should be YES');
|
211
|
+
ok(pane.view('3_items,2_sel,1_disabled').get('isVisibleInWindow'), '3_items,2_sel,1_disabled.isVisibleInWindow should be YES');
|
212
|
+
ok(pane.view('3_items,icon,2_sel').get('isVisibleInWindow'), '3_items,icon,2_sel.isVisibleInWindow should be YES');
|
201
213
|
ok(pane.view('3_items,1_sel,emptySel').get('isVisibleInWindow'), '3_items,1 sel,emptySel.isVisibleInWindow should be YES');
|
202
214
|
ok(pane.view('3_items,2_sel,emptySel').get('isVisibleInWindow'), '3_items,2 sel,emptySel.isVisibleInWindow should be YES');
|
203
215
|
ok(pane.view('3_items,1_sel,multipleSel').get('isVisibleInWindow'), '3_items,1_sel,multipleSel.isVisibleInWindow should be YES');
|
@@ -208,7 +220,6 @@ var pane;
|
|
208
220
|
ok(pane.view('3_items,rightAligned').get('isVisibleInWindow'), '3_items,rightAligned.isVisibleInWindow should be YES');
|
209
221
|
ok(pane.view('aria-role_tab,tablist').get('isVisibleInWindow'), 'aria-role_tab,tablist.isVisibleInWindow should be YES');
|
210
222
|
ok(pane.view('aria-labelledby').get('isVisibleInWindow'), 'aria-labelledby.isVisibleInWindow should be YES');
|
211
|
-
|
212
223
|
});
|
213
224
|
|
214
225
|
|
@@ -234,10 +245,16 @@ var pane;
|
|
234
245
|
if(i !== 0 && i < seglen-1) {
|
235
246
|
ok((seg.className.indexOf('sc-middle-segment')>=0), 'middle segments have the right classname assigned.');
|
236
247
|
}
|
237
|
-
viewElem=pane.view('3_items,2_sel,disabled').$();
|
238
|
-
ok(viewElem.hasClass('disabled'), '3_items,2_sel,disabled should have the disabled class set');
|
239
248
|
}
|
240
249
|
|
250
|
+
viewElem=pane.view('3_items,1_sel,disabled').$();
|
251
|
+
ok(viewElem.hasClass('disabled'), '3_items,1_sel,disabled should have the disabled class set');
|
252
|
+
|
253
|
+
viewElem=pane.view('3_items,2_sel,disabled').$();
|
254
|
+
ok(viewElem.hasClass('disabled'), '3_items,2_sel,disabled should have the disabled class set');
|
255
|
+
|
256
|
+
seg=pane.view('3_items,2_sel,1_disabled').$('.sc-segment-view')[1];
|
257
|
+
ok($(seg).hasClass('disabled'), '3_items,2_sel,1_disabled should have the disabled class set on the middle segment');
|
241
258
|
});
|
242
259
|
|
243
260
|
|
@@ -263,13 +280,12 @@ var pane;
|
|
263
280
|
if(i!==0 && i!=seglen-1){
|
264
281
|
ok((seg.className.indexOf('sc-middle-segment')>=0), 'middle segments have the right classname assigned.');
|
265
282
|
}
|
266
|
-
viewElem=pane.view('3_items,2_sel,disabled').$();
|
267
|
-
ok(viewElem.hasClass('disabled'), '3_items,2_sel,disabled should have the disabled class set');
|
268
283
|
}
|
269
284
|
|
285
|
+
viewElem=pane.view('3_items,2_sel,disabled').$();
|
286
|
+
ok(viewElem.hasClass('disabled'), '3_items,2_sel,disabled should have the disabled class set');
|
270
287
|
});
|
271
288
|
|
272
|
-
|
273
289
|
test("No value set", function() {
|
274
290
|
var segments=pane.view('3_empty').$('.sc-segment-view');
|
275
291
|
|
@@ -284,7 +300,6 @@ var pane;
|
|
284
300
|
|
285
301
|
});
|
286
302
|
|
287
|
-
|
288
303
|
test("Check that two items are selected.", function() {
|
289
304
|
var segments=pane.view('3_items,icon,2_sel').$('.sc-segment-view');
|
290
305
|
var count=0;
|
@@ -301,7 +316,6 @@ var pane;
|
|
301
316
|
|
302
317
|
});
|
303
318
|
|
304
|
-
|
305
319
|
test("2_items,toolTip has toolTips assigned.", function() {
|
306
320
|
var segments=pane.view('2_items,toolTip').$('.sc-segment-view');
|
307
321
|
ok((segments[0].title=="this is title1's tip"), 'first segment has expected tool tip assigned.');
|
@@ -454,4 +468,45 @@ var pane;
|
|
454
468
|
}
|
455
469
|
});
|
456
470
|
|
471
|
+
test("Check that mouse events change the active classes.", function() {
|
472
|
+
var view1, view2, view3, layer1, layer2, layer3, point, ev;
|
473
|
+
|
474
|
+
view1 = pane.view('3_items,2_sel,1_disabled').get('childViews').objectAt(0); // $('.sc-segment-view')[0];
|
475
|
+
layer1 = view1.get('layer');
|
476
|
+
point = SC.offset(layer1);
|
477
|
+
|
478
|
+
ev = SC.Event.simulateEvent(layer1, 'mousedown', { clientX: point.x, clientY: point.y });
|
479
|
+
SC.Event.trigger(layer1, 'mousedown', [ev]);
|
480
|
+
|
481
|
+
ok(view1.$().hasClass('active'), 'The first segment should have an active class on mousedown');
|
482
|
+
|
483
|
+
ev = SC.Event.simulateEvent(layer1, 'mousemove', { clientX: point.x + 1, clientY: point.y });
|
484
|
+
SC.Event.trigger(layer1, 'mousemove', [ev]);
|
485
|
+
|
486
|
+
view2 = pane.view('3_items,2_sel,1_disabled').get('childViews').objectAt(1);
|
487
|
+
layer2 = view2.get('layer');
|
488
|
+
point = SC.offset(layer2);
|
489
|
+
|
490
|
+
ev = SC.Event.simulateEvent(layer2, 'mousemove', { clientX: point.x + 1, clientY: point.y + 1 });
|
491
|
+
SC.Event.trigger(layer2, 'mousemove', [ev]);
|
492
|
+
|
493
|
+
ok(!view1.$().hasClass('active'), 'The first segment should no longer have an active class on mouseExited (via mousemove)');
|
494
|
+
ok(!view2.$().hasClass('active'), 'The disabled second segment should not have an active class on mouseEntered (via mousemove)');
|
495
|
+
|
496
|
+
view3 = pane.view('3_items,2_sel,1_disabled').get('childViews').objectAt(2);
|
497
|
+
layer3 = view3.get('layer');
|
498
|
+
point = SC.offset(layer3);
|
499
|
+
|
500
|
+
ev = SC.Event.simulateEvent(layer3, 'mousemove', { clientX: point.x + 1, clientY: point.y + 1 });
|
501
|
+
SC.Event.trigger(layer3, 'mousemove', [ev]);
|
502
|
+
|
503
|
+
ok(view3.$().hasClass('active'), 'The third segment should have an active class on mouseMoved');
|
504
|
+
|
505
|
+
ev = SC.Event.simulateEvent(layer3, 'mouseup', { clientX: point.x + 1, clientY: point.y + 1 });
|
506
|
+
SC.Event.trigger(layer3, 'mouseup', [ev]);
|
507
|
+
|
508
|
+
ok(!view1.$().hasClass('sel'), 'The first segment should lose its sel class on mouseUp');
|
509
|
+
ok(view3.$().hasClass('sel'), 'The third segment should have a sel class on mouseUp');
|
510
|
+
});
|
511
|
+
|
457
512
|
})();
|
@@ -53,12 +53,12 @@ module("SC.SelectView",{
|
|
53
53
|
itemTitleKey: 'title',
|
54
54
|
itemSortKey: 'pos'
|
55
55
|
}),
|
56
|
-
|
56
|
+
|
57
57
|
//view5
|
58
58
|
SC.SelectView.extend({
|
59
59
|
items: ["My","New", "List"]
|
60
60
|
}),
|
61
|
-
|
61
|
+
|
62
62
|
//view6
|
63
63
|
SC.SelectView.extend({
|
64
64
|
items: ["My","New", "List"],
|
@@ -74,7 +74,7 @@ module("SC.SelectView",{
|
|
74
74
|
view4 = pane.childViews[3] ;
|
75
75
|
view5 = pane.childViews[4] ;
|
76
76
|
view6 = pane.childViews[5] ;
|
77
|
-
|
77
|
+
|
78
78
|
pane.append(); // make sure there is a layer...
|
79
79
|
SC.RunLoop.end();
|
80
80
|
},
|
@@ -91,8 +91,6 @@ test("Check if valueBinding works", function() {
|
|
91
91
|
equals('World',view4.get('value'),'Value should be') ;
|
92
92
|
});
|
93
93
|
|
94
|
-
// the test that was here pretty much tested nothing.
|
95
|
-
|
96
94
|
//test5
|
97
95
|
test("sortObjects() sorts the items of the Drop Down component", function() {
|
98
96
|
var obj = view1.get("items");
|
@@ -103,8 +101,6 @@ test("sortObjects() sorts the items of the Drop Down component", function() {
|
|
103
101
|
equals("You",obj.get(2),'Third item should be') ;
|
104
102
|
});
|
105
103
|
|
106
|
-
// There was an awful test here. I can't even tell what it was supposed to do.
|
107
|
-
|
108
104
|
//test7
|
109
105
|
test("isEnabled=NO should add disabled class", function() {
|
110
106
|
SC.RunLoop.begin() ;
|
@@ -113,9 +109,7 @@ test("isEnabled=NO should add disabled class", function() {
|
|
113
109
|
ok(view1.$().hasClass('disabled'), 'should have disabled class') ;
|
114
110
|
});
|
115
111
|
|
116
|
-
//
|
117
|
-
|
118
|
-
// I think this one is probably somewhat pointless as well, but perhaps some
|
112
|
+
// I think this test is probably somewhat pointless, but perhaps some
|
119
113
|
// buggy observers being called could break it or something...
|
120
114
|
test("Check if setting a value actually changes the selection value", function() {
|
121
115
|
SC.RunLoop.begin() ;
|
@@ -125,7 +119,13 @@ test("Check if setting a value actually changes the selection value", function()
|
|
125
119
|
equals(view2.get('value'), 'Menu', 'value of Drop down should change to') ;
|
126
120
|
}) ;
|
127
121
|
|
128
|
-
//
|
122
|
+
//test10
|
123
|
+
test('Setting the view\'s items should not result in an error.', function() {
|
124
|
+
try { view1.set('items', null); }
|
125
|
+
catch (e) {
|
126
|
+
ok(false, 'Nulling out items should not throw an error.');
|
127
|
+
}
|
128
|
+
});
|
129
129
|
|
130
130
|
//test11
|
131
131
|
test("The properties for select button should take default values unless specified", function() {
|
@@ -96,6 +96,14 @@ var pane = SC.ControlTestPane.design()
|
|
96
96
|
emptyName: '<empty>',
|
97
97
|
escapeHTML: NO,
|
98
98
|
showCheckbox: YES
|
99
|
+
})
|
100
|
+
|
101
|
+
.add("SelectWithSeparator", SC.SelectView, {
|
102
|
+
items: [{ title: "None", separator: YES },
|
103
|
+
{ title: "Low", isEnabled: NO },
|
104
|
+
{ separator: YES },
|
105
|
+
{ title: "High" }],
|
106
|
+
itemTitleKey: 'title'
|
99
107
|
});
|
100
108
|
|
101
109
|
pane.show();
|
@@ -115,7 +123,7 @@ module('SC.SelectView ui', {
|
|
115
123
|
}
|
116
124
|
});
|
117
125
|
|
118
|
-
//test1
|
126
|
+
// test1
|
119
127
|
test("Check the visiblity of the selectButtons", function() {
|
120
128
|
ok(pane.view('Basic').get('isVisibleInWindow'), 'Basic.isVisibleInWindow should be YES') ;
|
121
129
|
ok(pane.view('Disabled').get('isVisibleInWindow'), 'Disabled.isVisibleInWindow should be YES') ;
|
@@ -126,6 +134,7 @@ test("Check the visiblity of the selectButtons", function() {
|
|
126
134
|
ok(pane.view('SelectButtonWithIcon').get('isVisibleInWindow'), 'SelectButtonWithIcon.isVisibleInWindow should be YES') ;
|
127
135
|
ok(pane.view('StaticLayout').get('isVisibleInWindow'), 'StaticLayout.isVisibleInWindow should be YES') ;
|
128
136
|
ok(pane.view('SelectButtonWithEmptyName').get('isVisibleInWindow'), 'SelectButtonWithEmptyName.isVisibleInWindow should be YES') ;
|
137
|
+
ok(pane.view('SelectWithSeparator').get('isVisibleInWindow'), 'SelectButtonWithEmptyName.isVisibleInWindow should be YES') ;
|
129
138
|
}) ;
|
130
139
|
|
131
140
|
//test2
|
@@ -241,7 +250,6 @@ test("StaticLayout", function() {
|
|
241
250
|
test("SelectButtonWithEmptyName", function() {
|
242
251
|
var view=pane.view('SelectButtonWithEmptyName').$(),
|
243
252
|
label = pane.view('SelectButtonWithEmptyName').$('label');
|
244
|
-
console.log('label = ' + label);
|
245
253
|
ok(!view.hasClass('icon'), 'hasClass(Icon) should be NO') ;
|
246
254
|
ok(view.hasClass('sc-view'), 'hasClass(sc-view) should be YES') ;
|
247
255
|
ok(view.hasClass('sc-button-view'), 'hasClass(sc-button-view) should be YES') ;
|
@@ -251,3 +259,21 @@ test("SelectButtonWithEmptyName", function() {
|
|
251
259
|
ok(!view.hasClass('def'), 'hasClass(def) should be NO') ;
|
252
260
|
equals(label[0].innerHTML, '<empty>', 'The label should be "<empty>"');
|
253
261
|
});
|
262
|
+
|
263
|
+
/**
|
264
|
+
This is just a simple test that shows that when the first item provided to
|
265
|
+
SC.SelectView is a separator or is not enabled, it ignores it as the default
|
266
|
+
in favor of the first item with a value that is selectable.
|
267
|
+
*/
|
268
|
+
test("SelectWithSeparator", function() {
|
269
|
+
var view=pane.view('SelectWithSeparator').$(),
|
270
|
+
label = pane.view('SelectWithSeparator').$('label');
|
271
|
+
ok(!view.hasClass('icon'), 'hasClass(Icon) should be NO') ;
|
272
|
+
ok(view.hasClass('sc-view'), 'hasClass(sc-view) should be YES') ;
|
273
|
+
ok(view.hasClass('sc-button-view'), 'hasClass(sc-button-view) should be YES') ;
|
274
|
+
ok(view.hasClass('sc-regular-size'), 'hasClass(sc-regular-size) should be YES') ;
|
275
|
+
ok(!view.hasClass('sel'), 'hasClass(sel) should be NO') ;
|
276
|
+
ok(!view.hasClass('disabled'), 'hasClass(disabled) should be NO') ;
|
277
|
+
ok(!view.hasClass('def'), 'hasClass(def) should be NO') ;
|
278
|
+
equals(label[0].innerHTML, 'High', 'The label should be "High"');
|
279
|
+
});
|
@@ -0,0 +1,74 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
3
|
+
// Copyright: ©2006-2011 Strobe Inc. and contributors.
|
4
|
+
// portions copyright @2011 Apple Inc.
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
|
+
// ==========================================================================
|
7
|
+
/*global module test htmlbody ok equals same stop start */
|
8
|
+
|
9
|
+
|
10
|
+
module("SC.SliderView Methods", {
|
11
|
+
setup: function() {
|
12
|
+
// SC.RunLoop.begin();
|
13
|
+
pane = SC.MainPane.create({
|
14
|
+
childViews: [
|
15
|
+
SC.SliderView.extend({
|
16
|
+
value: 50,
|
17
|
+
minimum: 0,
|
18
|
+
maximum: 100
|
19
|
+
})]
|
20
|
+
});
|
21
|
+
pane.append(); // make sure there is a layer...
|
22
|
+
// SC.RunLoop.end();
|
23
|
+
|
24
|
+
view = pane.childViews[0];
|
25
|
+
},
|
26
|
+
|
27
|
+
teardown: function() {
|
28
|
+
pane.remove();
|
29
|
+
pane = view = null ;
|
30
|
+
}
|
31
|
+
});
|
32
|
+
|
33
|
+
test("changing value of the slider will change its left position", function() {
|
34
|
+
equals(view.get('value'), 50, 'precond - value should be 50');
|
35
|
+
equals(view.$('.sc-handle').css('left'), '50%', 'left of sc-handle should be 50%');
|
36
|
+
|
37
|
+
var elem = view.get('layer');
|
38
|
+
|
39
|
+
SC.RunLoop.begin();
|
40
|
+
view.set('value', 100);
|
41
|
+
SC.RunLoop.end();
|
42
|
+
|
43
|
+
equals(view.get('value'), 100, 'value should now be 100');
|
44
|
+
equals(view.$('.sc-handle').css('left'), '100%', 'left of sc-handle should be 100%');
|
45
|
+
|
46
|
+
});
|
47
|
+
|
48
|
+
test("going over maximum slider limit", function() {
|
49
|
+
equals(view.get('value'), 50, 'precond - value should be 50');
|
50
|
+
|
51
|
+
var elem = view.get('layer');
|
52
|
+
|
53
|
+
SC.RunLoop.begin();
|
54
|
+
view.set('value', 150);
|
55
|
+
SC.RunLoop.end();
|
56
|
+
|
57
|
+
// TODO: should we allow setting value higher then maximum?
|
58
|
+
equals(view.get('value'), 150, 'value should now be 150');
|
59
|
+
equals(view.$('.sc-handle').css('left'), '100%', 'left of sc-handle should be 100%');
|
60
|
+
});
|
61
|
+
|
62
|
+
test("going below minimum slider limit", function() {
|
63
|
+
equals(view.get('value'), 50, 'precond - value should be 50');
|
64
|
+
|
65
|
+
var elem = view.get('layer');
|
66
|
+
|
67
|
+
SC.RunLoop.begin();
|
68
|
+
view.set('value', -10);
|
69
|
+
SC.RunLoop.end();
|
70
|
+
|
71
|
+
// TODO: should we allow setting value lower then minimum?
|
72
|
+
equals(view.get('value'), -10, 'value should now be -10');
|
73
|
+
equals(view.$('.sc-handle').css('left'), '0%', 'left of sc-handle should be 0%');
|
74
|
+
});
|
@@ -0,0 +1,141 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
3
|
+
// Copyright: ©2006-2011 Strobe Inc. and contributors.
|
4
|
+
// portions copyright @2011 Apple Inc.
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
|
+
// ==========================================================================
|
7
|
+
|
8
|
+
/*global module test htmlbody ok equals same stop start */
|
9
|
+
|
10
|
+
(function() {
|
11
|
+
var pane = SC.ControlTestPane.design()
|
12
|
+
.add("slider basic", SC.SliderView, {
|
13
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
14
|
+
value: 50,
|
15
|
+
minimum: 0,
|
16
|
+
maximum: 100
|
17
|
+
})
|
18
|
+
.add("slider disabled", SC.SliderView, {
|
19
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
20
|
+
value: 50,
|
21
|
+
minimum: 0,
|
22
|
+
maximum: 100,
|
23
|
+
isEnabled: NO
|
24
|
+
})
|
25
|
+
.add("slider value 100", SC.SliderView, {
|
26
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
27
|
+
value: 100,
|
28
|
+
minimum: 0,
|
29
|
+
maximum: 100
|
30
|
+
})
|
31
|
+
.add("slider basic step 20", SC.SliderView, {
|
32
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
33
|
+
value: 50,
|
34
|
+
minimum: 0,
|
35
|
+
maximum: 100,
|
36
|
+
step: 20
|
37
|
+
})
|
38
|
+
.add("slider aria-role", SC.SliderView, {
|
39
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
40
|
+
value: 10,
|
41
|
+
minimum: 0,
|
42
|
+
maximum: 50
|
43
|
+
})
|
44
|
+
.add("slider aria-valuemax", SC.SliderView, {
|
45
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
46
|
+
value: 40,
|
47
|
+
minimum: 0,
|
48
|
+
maximum: 100
|
49
|
+
})
|
50
|
+
.add("slider aria-valuemin", SC.SliderView, {
|
51
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
52
|
+
value: 20,
|
53
|
+
minimum: 0,
|
54
|
+
maximum: 100
|
55
|
+
})
|
56
|
+
.add("slider aria-valuenow", SC.SliderView, {
|
57
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
58
|
+
value: 40,
|
59
|
+
minimum: 0,
|
60
|
+
maximum: 100
|
61
|
+
})
|
62
|
+
.add("slider aria-valuetext", SC.SliderView, {
|
63
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
64
|
+
value: 20,
|
65
|
+
minimum: 0,
|
66
|
+
maximum: 100
|
67
|
+
})
|
68
|
+
.add("slider aria-orientation", SC.SliderView, {
|
69
|
+
layout: {top:0, bottom:0, left:0, width: 250},
|
70
|
+
value: 50,
|
71
|
+
minimum: 0,
|
72
|
+
maximum: 100
|
73
|
+
});
|
74
|
+
|
75
|
+
// ..........................................................
|
76
|
+
// TEST VIEWS
|
77
|
+
//
|
78
|
+
|
79
|
+
module("SC.SliderView UI", pane.standardSetup());
|
80
|
+
|
81
|
+
test("basic", function() {
|
82
|
+
var view = pane.view('slider basic');
|
83
|
+
|
84
|
+
ok(!view.$().hasClass('disabled'), 'should NOT have disabled class');
|
85
|
+
ok(view.$('.track').length > 0, 'should have track classed element');
|
86
|
+
ok(view.$('.sc-handle').length > 0, 'should have sc-handle classed element');
|
87
|
+
equals(view.$('.sc-handle')[0].style.left, '50%', 'left of sc-handle should be 50%');
|
88
|
+
});
|
89
|
+
|
90
|
+
test("disabled", function() {
|
91
|
+
var view = pane.view('slider disabled');
|
92
|
+
|
93
|
+
ok(view.$().hasClass('disabled'), 'should have disabled class');
|
94
|
+
ok(view.$('.track').length > 0, 'should have track classed element');
|
95
|
+
ok(view.$('.sc-handle').length > 0, 'should have sc-handle classed element');
|
96
|
+
equals(view.$('.sc-handle')[0].style.left, '50%', 'left of sc-handle should be 50%');
|
97
|
+
});
|
98
|
+
|
99
|
+
test("basic value 100", function() {
|
100
|
+
var view = pane.view('slider value 100');
|
101
|
+
|
102
|
+
ok(!view.$().hasClass('disabled'), 'should have disabled class');
|
103
|
+
ok(view.$('.track').length > 0, 'should have track classed element');
|
104
|
+
ok(view.$('.sc-handle').length > 0, 'should have sc-handle classed element');
|
105
|
+
equals(view.$('.sc-handle')[0].style.left, '100%', 'left of sc-handle should be 100%');
|
106
|
+
});
|
107
|
+
|
108
|
+
test("basic step 20", function() {
|
109
|
+
var view = pane.view('slider basic step 20');
|
110
|
+
|
111
|
+
ok(!view.$().hasClass('disabled'), 'should have disabled class');
|
112
|
+
ok(view.$('.track').length > 0, 'should have track classed element');
|
113
|
+
ok(view.$('.sc-handle').length > 0, 'should have sc-handle classed element');
|
114
|
+
equals(view.$('.sc-handle')[0].style.left, '60%', 'left of sc-handle should be 60%');
|
115
|
+
});
|
116
|
+
|
117
|
+
test("Check if aria role is set to slider view", function() {
|
118
|
+
var viewElem = pane.view('slider aria-role').$();
|
119
|
+
ok(viewElem.attr('role') === 'slider', 'aria-role is set to the slider view');
|
120
|
+
});
|
121
|
+
|
122
|
+
test("Check if attribute aria-valuemax is set correctly", function() {
|
123
|
+
var viewElem = pane.view('slider aria-valuemax').$();
|
124
|
+
equals(viewElem.attr('aria-valuemax'), 100, 'aria-valuemax should be 100');
|
125
|
+
});
|
126
|
+
|
127
|
+
test("Check if attribute aria-valuemin is set correctly", function() {
|
128
|
+
var viewElem = pane.view('slider aria-valuemin').$();
|
129
|
+
equals(viewElem.attr('aria-valuemin'), 0, 'aria-valuemin should be 0');
|
130
|
+
});
|
131
|
+
|
132
|
+
test("Check if attribute aria-valuenow is set correctly", function() {
|
133
|
+
var viewElem = pane.view('slider aria-valuenow').$();
|
134
|
+
equals(viewElem.attr('aria-valuenow'), 40, 'aria-valuenow should be 40');
|
135
|
+
});
|
136
|
+
|
137
|
+
test("Check if attribute aria-orientation is set correctly", function() {
|
138
|
+
var viewElem = pane.view('slider aria-orientation').$();
|
139
|
+
equals(viewElem.attr('aria-orientation'), "horizontal", 'aria-orientation should be horizontal');
|
140
|
+
});
|
141
|
+
})();
|