kiteditor 1.0.11 → 1.0.12
Sign up to get free protection for your applications and to get access to all the features.
- data/POST_INSTALL +21 -0
- data/{vendor → app}/assets/images/mercury/button.png +0 -0
- data/{vendor → app}/assets/images/mercury/close.png +0 -0
- data/app/assets/images/mercury/default-snippet.png +0 -0
- data/{vendor → app}/assets/images/mercury/loading-dark.gif +0 -0
- data/{vendor → app}/assets/images/mercury/loading-light.gif +0 -0
- data/{vendor → app}/assets/images/mercury/missing-image.png +0 -0
- data/{vendor → app}/assets/images/mercury/search-icon.png +0 -0
- data/{vendor → app}/assets/images/mercury/temp-logo.png +0 -0
- data/app/assets/images/mercury/toolbar/editable/buttons.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/_expander.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/_pressed.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/action.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/historypanel.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/insertcharacter.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/insertlink.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/insertmedia.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/inserttable.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/inspectorpanel.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/notespanel.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/preview.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/redo.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/save.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/snippetpanel.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/tools.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/undo.png +0 -0
- data/app/assets/images/mercury/toolbar/primary/user.png +0 -0
- data/app/assets/images/mercury/toolbar/snippets/buttons.png +0 -0
- data/{vendor/assets/javascripts/mercury/dependencies → app/assets/javascripts}/jquery-1.7.js +0 -0
- data/{vendor → app}/assets/javascripts/mercury.js +60 -87
- data/{vendor → app}/assets/javascripts/mercury/dependencies/jquery-ui-1.8.13.custom.js +0 -0
- data/{vendor → app}/assets/javascripts/mercury/dependencies/jquery.additions.js +103 -13
- data/{vendor → app}/assets/javascripts/mercury/dependencies/jquery.htmlClean.js +0 -0
- data/{vendor → app}/assets/javascripts/mercury/dependencies/liquidmetal.js +0 -0
- data/{vendor → app}/assets/javascripts/mercury/dependencies/showdown.js +0 -0
- data/{vendor → app}/assets/javascripts/mercury/dialog.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/dialogs/backcolor.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/dialogs/forecolor.js.coffee +1 -1
- data/{vendor → app}/assets/javascripts/mercury/dialogs/formatblock.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/dialogs/snippetpanel.js.coffee +1 -1
- data/{vendor → app}/assets/javascripts/mercury/dialogs/style.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/finalize.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/history_buffer.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/lightview.js.coffee +38 -17
- data/app/assets/javascripts/mercury/locales/ar.locale.js.coffee +201 -0
- data/app/assets/javascripts/mercury/locales/da.locale.js.coffee +208 -0
- data/{vendor → app}/assets/javascripts/mercury/locales/de.locale.js.coffee +4 -10
- data/{vendor → app}/assets/javascripts/mercury/locales/es.locale.js.coffee +3 -9
- data/{vendor → app}/assets/javascripts/mercury/locales/example.local.js.coffee +3 -5
- data/{vendor → app}/assets/javascripts/mercury/locales/fr.locale.js.coffee +3 -9
- data/app/assets/javascripts/mercury/locales/hu.locale.js.coffee +209 -0
- data/{vendor → app}/assets/javascripts/mercury/locales/it.locale.js.coffee +3 -9
- data/{vendor → app}/assets/javascripts/mercury/locales/ko.local.js.coffee +4 -10
- data/{vendor → app}/assets/javascripts/mercury/locales/nl.locale.js.coffee +3 -9
- data/app/assets/javascripts/mercury/locales/pl.locale.js.coffee +213 -0
- data/{vendor → app}/assets/javascripts/mercury/locales/pt.locale.js.coffee +3 -9
- data/app/assets/javascripts/mercury/locales/ru.locale.js.coffee +200 -0
- data/{vendor → app}/assets/javascripts/mercury/locales/sv.local.js.coffee +3 -9
- data/{vendor → app}/assets/javascripts/mercury/locales/swedish_chef.locale.js.coffee +3 -9
- data/app/assets/javascripts/mercury/locales/uk.locale.js.coffee +200 -0
- data/app/assets/javascripts/mercury/locales/zh.local.js.coffee +203 -0
- data/app/assets/javascripts/mercury/mercury-compiled.js +10720 -0
- data/{vendor → app}/assets/javascripts/mercury/mercury.js.coffee +10 -1
- data/{vendor → app}/assets/javascripts/mercury/modal.js.coffee +62 -40
- data/{vendor → app}/assets/javascripts/mercury/modals/htmleditor.js.coffee +1 -0
- data/{vendor → app}/assets/javascripts/mercury/modals/insertcharacter.js.coffee +1 -0
- data/app/assets/javascripts/mercury/modals/insertlink.js.coffee +152 -0
- data/app/assets/javascripts/mercury/modals/insertmedia.js.coffee +132 -0
- data/{vendor → app}/assets/javascripts/mercury/modals/insertsnippet.js.coffee +2 -0
- data/app/assets/javascripts/mercury/modals/inserttable.js.coffee +68 -0
- data/{vendor → app}/assets/javascripts/mercury/native_extensions.js.coffee +0 -6
- data/{vendor → app}/assets/javascripts/mercury/page_editor.js.coffee +84 -50
- data/{vendor → app}/assets/javascripts/mercury/palette.js.coffee +1 -1
- data/{vendor → app}/assets/javascripts/mercury/panel.js.coffee +3 -2
- data/{vendor → app}/assets/javascripts/mercury/plugins/save_as_xml/mercury/page_editor.js.coffee +2 -2
- data/{vendor → app}/assets/javascripts/mercury/plugins/save_as_xml/plugin.js +0 -0
- data/{vendor → app}/assets/javascripts/mercury/region.js.coffee +18 -17
- data/{vendor/assets/javascripts/mercury/regions/editable.js.coffee → app/assets/javascripts/mercury/regions/full.js.coffee} +41 -31
- data/app/assets/javascripts/mercury/regions/image.js.coffee +93 -0
- data/{vendor/assets/javascripts/mercury/regions/markupable.js.coffee → app/assets/javascripts/mercury/regions/markdown.js.coffee} +29 -24
- data/{vendor → app}/assets/javascripts/mercury/regions/simple.js.coffee +11 -54
- data/{vendor/assets/javascripts/mercury/regions/snippetable.js.coffee → app/assets/javascripts/mercury/regions/snippets.js.coffee} +10 -9
- data/{vendor → app}/assets/javascripts/mercury/select.js.coffee +1 -1
- data/app/assets/javascripts/mercury/snippet.js.coffee +136 -0
- data/{vendor → app}/assets/javascripts/mercury/snippet_toolbar.js.coffee +19 -6
- data/{vendor → app}/assets/javascripts/mercury/statusbar.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/support/history.js +0 -0
- data/{vendor → app}/assets/javascripts/mercury/table_editor.js.coffee +16 -0
- data/{vendor → app}/assets/javascripts/mercury/toolbar.button.js.coffee +45 -30
- data/{vendor → app}/assets/javascripts/mercury/toolbar.button_group.js.coffee +2 -2
- data/{vendor → app}/assets/javascripts/mercury/toolbar.expander.js.coffee +4 -4
- data/{vendor → app}/assets/javascripts/mercury/toolbar.js.coffee +10 -6
- data/{vendor → app}/assets/javascripts/mercury/tooltip.js.coffee +0 -0
- data/{vendor → app}/assets/javascripts/mercury/uploader.js.coffee +37 -19
- data/app/assets/stylesheets/_mercury-bootstrap-overrides.scss +61 -0
- data/app/assets/stylesheets/_mercury-sass.scss +33 -0
- data/{vendor → app}/assets/stylesheets/mercury.css +1 -5
- data/{vendor → app}/assets/stylesheets/mercury/all_images.css.erb +6 -2
- data/app/assets/stylesheets/mercury/bootstrap-ish.css +1367 -0
- data/app/assets/stylesheets/mercury/bootstrap-overrides.css +61 -0
- data/{vendor → app}/assets/stylesheets/mercury/dialog.css +21 -8
- data/{vendor → app}/assets/stylesheets/mercury/lightview.css +6 -56
- data/app/assets/stylesheets/mercury/mercury.css +43 -0
- data/{vendor → app}/assets/stylesheets/mercury/modal.css +15 -32
- data/{vendor → app}/assets/stylesheets/mercury/statusbar.css +0 -0
- data/{vendor → app}/assets/stylesheets/mercury/toolbar.css +4 -1
- data/{vendor → app}/assets/stylesheets/mercury/tooltip.css +0 -0
- data/{vendor → app}/assets/stylesheets/mercury/uploader.css +4 -4
- data/app/helpers/mercury_helper.rb +7 -0
- data/app/views/layouts/mercury.html.erb +10 -20
- data/app/views/layouts/mercury.html.haml +19 -0
- data/app/views/layouts/mercury.html.slim +19 -0
- data/app/views/mercury/modals/character.html +1 -1
- data/app/views/mercury/modals/htmleditor.html +3 -7
- data/app/views/mercury/modals/link.html +37 -51
- data/app/views/mercury/modals/media.html +102 -0
- data/app/views/mercury/modals/table.html +79 -73
- data/app/views/mercury/panels/snippets.html +6 -1
- data/app/views/mercury/snippets/example/options.html.erb +23 -27
- data/app/views/mercury/snippets/no_options/preview.html.erb +1 -0
- data/config/routes.rb +9 -0
- data/features/generators/authentication.feature +10 -0
- data/features/generators/images.feature +41 -0
- data/features/generators/install.feature +21 -0
- data/features/loading/loading.feature +5 -2
- data/features/loading/user_interface.feature +9 -7
- data/features/regions/{editable → full}/advanced_editing.feature +0 -0
- data/features/regions/full/basic_editing.feature +198 -0
- data/features/regions/{editable → full}/inserting_links.feature +20 -19
- data/features/regions/{editable → full}/inserting_media.feature +36 -18
- data/features/regions/{editable → full}/inserting_snippets.feature +28 -18
- data/features/regions/{editable → full}/inserting_special_characters.feature +2 -2
- data/features/regions/full/inserting_tables.feature +109 -0
- data/features/regions/{editable → full}/pasting.feature +0 -0
- data/features/regions/{editable → full}/uploading_images.feature +0 -0
- data/features/regions/{markupable → image}/uploading_images.feature +0 -0
- data/features/regions/{markupable → markdown}/advanced_editing.feature +0 -0
- data/features/regions/{markupable → markdown}/basic_editing.feature +0 -0
- data/features/regions/{markupable → markdown}/inserting_links.feature +0 -0
- data/features/regions/{markupable → markdown}/inserting_media.feature +0 -0
- data/features/regions/{markupable → markdown}/inserting_snippets.feature +0 -0
- data/features/regions/{markupable → markdown}/inserting_special_characters.feature +0 -0
- data/features/regions/{markupable → markdown}/inserting_tables.feature +0 -0
- data/features/regions/{snippetable/advanced_editing.feature → markdown/uploading_images.feature} +0 -0
- data/features/regions/simple/basic_editing.feature +5 -0
- data/features/regions/{snippetable/basic_editing.feature → snippets/advanced_editing.feature} +0 -0
- data/features/regions/{snippetable/inserting_snippets.feature → snippets/basic_editing.feature} +0 -0
- data/{vendor/assets/javascripts/mercury/locales/da.locale.js.coffee → features/regions/snippets/inserting_snippets.feature} +0 -0
- data/features/saving/saving.feature +8 -8
- data/features/step_definitions/custom_web_steps.rb +22 -0
- data/features/step_definitions/generator_steps.rb +23 -0
- data/features/step_definitions/mercury_steps.rb +1 -438
- data/features/support/aruba.rb +28 -0
- data/features/support/env.rb +11 -1
- data/features/support/selectors.rb +23 -0
- data/lib/generators/mercury/install/authentication/authentication_generator.rb +17 -0
- data/lib/generators/mercury/install/images/images_generator.rb +47 -0
- data/{app/models/mercury/image.rb → lib/generators/mercury/install/images/templates/ar_paperclip_image.rb} +7 -0
- data/{db/migrate/20110526035601_create_mercury_images.rb → lib/generators/mercury/install/images/templates/ar_paperclip_image_migration.rb} +0 -0
- data/{app/controllers/mercury → lib/generators/mercury/install/images/templates}/images_controller.rb +0 -0
- data/lib/generators/mercury/install/{templates → images/templates}/mongoid_paperclip_image.rb +0 -0
- data/lib/generators/mercury/install/install_generator.rb +12 -23
- data/lib/mercury-rails.rb +1 -2
- data/lib/mercury/authentication.rb +1 -0
- data/lib/mercury/cucumber/step_definitions.rb +13 -0
- data/lib/mercury/cucumber/step_definitions/mercury_steps.rb +408 -0
- data/{features → lib/mercury/cucumber}/support/mercury_contents.rb +3 -3
- data/{features → lib/mercury/cucumber}/support/mercury_selectors.rb +0 -20
- data/lib/mercury/engine.rb +19 -0
- data/lib/mercury/rails.rb +5 -0
- data/lib/mercury/version.rb +3 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +0 -0
- data/spec/dummy/app/assets/javascripts/prototype.js +6082 -0
- data/spec/dummy/app/assets/stylesheets/application.css.scss +110 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/layouts/mercury.html.erb +28 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +58 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +10 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +67 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/teabag.rb +9 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +5 -0
- data/spec/dummy/db/.gitkeep +0 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/blank.html +1 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/images/bunny.gif +0 -0
- data/spec/dummy/public/images/bunny2.jpg +0 -0
- data/spec/dummy/public/index.html +279 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/javascripts/{templates → fixtures}/mercury/dialog.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/dialogs/backcolor.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/dialogs/forecolor.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/dialogs/formatblock.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/dialogs/snippetpanel.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/dialogs/style.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/lightview.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/modal.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/modals/htmleditor.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/modals/insertcharacter.html +0 -0
- data/spec/javascripts/fixtures/mercury/modals/insertlink.html +67 -0
- data/spec/javascripts/fixtures/mercury/modals/insertmedia.html +87 -0
- data/spec/javascripts/{templates → fixtures}/mercury/modals/insertsnippet.html +0 -0
- data/spec/javascripts/fixtures/mercury/modals/inserttable.html +73 -0
- data/spec/javascripts/{templates → fixtures}/mercury/page_editor.html +4 -4
- data/spec/javascripts/{templates → fixtures}/mercury/palette.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/panel.html +0 -0
- data/spec/javascripts/fixtures/mercury/region.html +6 -0
- data/spec/javascripts/fixtures/mercury/regions/full.html +1 -0
- data/spec/javascripts/fixtures/mercury/regions/image.html +1 -0
- data/spec/javascripts/fixtures/mercury/regions/markdown.html +1 -0
- data/spec/javascripts/fixtures/mercury/regions/simple.html +1 -0
- data/spec/javascripts/fixtures/mercury/regions/snippets.html +4 -0
- data/spec/javascripts/{templates → fixtures}/mercury/select.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/snippet.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/snippet_toolbar.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/statusbar.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/table_editor.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/toolbar.button.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/toolbar.button_group.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/toolbar.expander.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/toolbar.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/tooltip.html +0 -0
- data/spec/javascripts/{templates → fixtures}/mercury/uploader.html +0 -0
- data/spec/javascripts/mercury/{dialog_spec.js.coffee → dialog_spec.coffee} +11 -12
- data/spec/javascripts/mercury/dialogs/backcolor_spec.js.coffee +2 -3
- data/spec/javascripts/mercury/dialogs/forecolor_spec.js.coffee +3 -4
- data/spec/javascripts/mercury/dialogs/formatblock_spec.js.coffee +2 -3
- data/spec/javascripts/mercury/dialogs/snippetpanel_spec.js.coffee +2 -3
- data/spec/javascripts/mercury/dialogs/style_spec.js.coffee +2 -3
- data/spec/javascripts/mercury/lightview_spec.js.coffee +180 -142
- data/spec/javascripts/mercury/mercury_spec.js.coffee +19 -13
- data/spec/javascripts/mercury/modal_spec.js.coffee +192 -148
- data/spec/javascripts/mercury/modals/htmleditor_spec.js.coffee +4 -5
- data/spec/javascripts/mercury/modals/insertcharacter_spec.js.coffee +2 -3
- data/spec/javascripts/mercury/modals/insertlink_spec.js.coffee +107 -34
- data/spec/javascripts/mercury/modals/insertmedia_spec.js.coffee +106 -26
- data/spec/javascripts/mercury/modals/insertsnippet_spec.js.coffee +2 -3
- data/spec/javascripts/mercury/modals/inserttable_spec.js.coffee +50 -40
- data/spec/javascripts/mercury/page_editor_spec.js.coffee +124 -80
- data/spec/javascripts/mercury/palette_spec.js.coffee +4 -5
- data/spec/javascripts/mercury/panel_spec.js.coffee +9 -12
- data/spec/javascripts/mercury/region_spec.js.coffee +22 -17
- data/spec/javascripts/mercury/regions/{editable_spec.js.coffee → full_spec.js.coffee} +26 -28
- data/spec/javascripts/mercury/regions/image_spec.js.coffee +33 -0
- data/spec/javascripts/mercury/regions/{markupable_spec.js.coffee → markdown_spec.js.coffee} +32 -34
- data/spec/javascripts/mercury/regions/simple_spec.js.coffee +32 -0
- data/spec/javascripts/mercury/regions/{snippetable_spec.js.coffee → snippets_spec.js.coffee} +54 -55
- data/spec/javascripts/mercury/select_spec.js.coffee +4 -5
- data/spec/javascripts/mercury/snippet_spec.js.coffee +92 -16
- data/spec/javascripts/mercury/snippet_toolbar_spec.js.coffee +31 -16
- data/spec/javascripts/mercury/statusbar_spec.js.coffee +9 -10
- data/spec/javascripts/mercury/table_editor_spec.js.coffee +1 -2
- data/spec/javascripts/mercury/toolbar.button_group_spec.js.coffee +7 -9
- data/spec/javascripts/mercury/toolbar.button_spec.js.coffee +55 -26
- data/spec/javascripts/mercury/toolbar.expander_spec.js.coffee +13 -13
- data/spec/javascripts/mercury/toolbar_spec.js.coffee +43 -14
- data/spec/javascripts/mercury/tooltip_spec.js.coffee +1 -2
- data/spec/javascripts/mercury/uploader_spec.js.coffee +47 -33
- data/spec/javascripts/spec_helper.coffee +4 -0
- data/spec/javascripts/{spec_helper.js → support/event_simulation.js} +0 -2
- data/spec/teabag_env.rb +32 -0
- metadata +366 -196
- data/features/regions/editable/basic_editing.feature +0 -195
- data/features/regions/editable/inserting_tables.feature +0 -109
- data/spec/javascripts/templates/mercury/modals/insertlink.html +0 -30
- data/spec/javascripts/templates/mercury/modals/insertmedia.html +0 -35
- data/spec/javascripts/templates/mercury/modals/inserttable.html +0 -27
- data/spec/javascripts/templates/mercury/region.html +0 -2
- data/spec/javascripts/templates/mercury/regions/editable.html +0 -3
- data/spec/javascripts/templates/mercury/regions/snippetable.html +0 -4
- data/vendor/assets/javascripts/mercury/modals/inserttable.js.coffee +0 -54
- data/vendor/assets/javascripts/mercury_loader.js +0 -193
- data/vendor/assets/javascripts/mercury_overrides.js +0 -6
- data/vendor/assets/stylesheets/mercury/mercury.css +0 -151
- data/vendor/assets/stylesheets/mercury_overrides.css +0 -17
@@ -1,8 +1,7 @@
|
|
1
1
|
describe "Mercury.SnippetToolbar", ->
|
2
2
|
|
3
|
-
template 'mercury/snippet_toolbar.html'
|
4
|
-
|
5
3
|
beforeEach ->
|
4
|
+
fixture.load('mercury/snippet_toolbar.html')
|
6
5
|
$.fx.off = true
|
7
6
|
|
8
7
|
afterEach ->
|
@@ -29,7 +28,7 @@ describe "Mercury.SnippetToolbar", ->
|
|
29
28
|
describe "#build", ->
|
30
29
|
|
31
30
|
it "builds an element", ->
|
32
|
-
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo:
|
31
|
+
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo: fixture.el})
|
33
32
|
html = $('<div>').html(@snippetToolbar.element).html()
|
34
33
|
expect(html).toContain('class="mercury-toolbar mercury-snippet-toolbar"')
|
35
34
|
expect(html).toContain('style="display:none"')
|
@@ -42,7 +41,7 @@ describe "Mercury.SnippetToolbar", ->
|
|
42
41
|
describe "observed events", ->
|
43
42
|
|
44
43
|
beforeEach ->
|
45
|
-
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo:
|
44
|
+
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo: fixture.el})
|
46
45
|
|
47
46
|
describe "custom event: show:toolbar", ->
|
48
47
|
|
@@ -72,21 +71,34 @@ describe "Mercury.SnippetToolbar", ->
|
|
72
71
|
|
73
72
|
it "clears the hide timeout", ->
|
74
73
|
spy = spyOn(window, 'clearTimeout').andCallFake(=>)
|
75
|
-
jasmine.simulate.mousemove($('
|
74
|
+
jasmine.simulate.mousemove($('.mercury-snippet-toolbar', fixture.el).get(0))
|
76
75
|
expect(spy.callCount).toEqual(1)
|
77
76
|
|
78
77
|
describe "mouseout", ->
|
79
78
|
|
80
79
|
it "calls hide", ->
|
81
80
|
spy = spyOn(Mercury.SnippetToolbar.prototype, 'hide').andCallFake(=>)
|
82
|
-
jasmine.simulate.mouseout($('
|
81
|
+
jasmine.simulate.mouseout($('.mercury-snippet-toolbar', fixture.el).get(0))
|
83
82
|
expect(spy.callCount).toEqual(1)
|
84
83
|
|
84
|
+
describe "releasing events", ->
|
85
|
+
|
86
|
+
it 'makes the following events releasable', ->
|
87
|
+
events = (eventName for [target, eventName, handler] in @snippetToolbar._boundEvents)
|
88
|
+
expect(events).toEqual(['show:toolbar', 'hide:toolbar', 'scroll'])
|
89
|
+
|
90
|
+
it 'calls off to unbind the events on release', ->
|
91
|
+
targets = (target for [target, eventName, handler] in @snippetToolbar._boundEvents)
|
92
|
+
# we bind to Mercury twice so pop the first one off for spying
|
93
|
+
targets.shift()
|
94
|
+
spys = (spyOn(target, 'off') for target in targets)
|
95
|
+
@snippetToolbar.release()
|
96
|
+
expect(spy).toHaveBeenCalled() for spy in spys
|
85
97
|
|
86
98
|
describe "#show", ->
|
87
99
|
|
88
100
|
beforeEach ->
|
89
|
-
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo:
|
101
|
+
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo: fixture.el})
|
90
102
|
@positionSpy = spyOn(Mercury.SnippetToolbar.prototype, 'position').andCallFake(=>)
|
91
103
|
@appearSpy = spyOn(Mercury.SnippetToolbar.prototype, 'appear').andCallFake(=>)
|
92
104
|
|
@@ -107,22 +119,22 @@ describe "Mercury.SnippetToolbar", ->
|
|
107
119
|
|
108
120
|
beforeEach ->
|
109
121
|
Mercury.displayRect = {top: 20}
|
110
|
-
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo:
|
122
|
+
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo: fixture.el, visible: true})
|
111
123
|
@snippetToolbar.snippet = $('#snippet')
|
112
124
|
|
113
125
|
it "positions itself based on the snippet", ->
|
114
126
|
@snippetToolbar.element.show()
|
115
127
|
@snippetToolbar.position()
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
128
|
+
# use a tolerance since there are measurement differences between browsers we want it between 14-18
|
129
|
+
expect(@snippetToolbar.element.offset().top).toBeLessThan(19)
|
130
|
+
expect(@snippetToolbar.element.offset().top).toBeGreaterThan(0)
|
131
|
+
expect(@snippetToolbar.element.offset().left).toEqual(200)
|
120
132
|
|
121
133
|
|
122
134
|
describe "#appear", ->
|
123
135
|
|
124
136
|
beforeEach ->
|
125
|
-
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo:
|
137
|
+
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo: fixture.el})
|
126
138
|
|
127
139
|
it "clears the hide timeout", ->
|
128
140
|
spy = spyOn(window, 'clearTimeout').andCallFake(=>)
|
@@ -141,7 +153,9 @@ describe "Mercury.SnippetToolbar", ->
|
|
141
153
|
describe "#hide", ->
|
142
154
|
|
143
155
|
beforeEach ->
|
144
|
-
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo:
|
156
|
+
@snippetToolbar = new Mercury.SnippetToolbar($('document'), {appendTo: fixture.el})
|
157
|
+
|
158
|
+
afterEach -> @snippetToolbar.release()
|
145
159
|
|
146
160
|
it "it clears the hide timeout", ->
|
147
161
|
spy = spyOn(window, 'clearTimeout').andCallFake(=>)
|
@@ -174,11 +188,12 @@ describe "Mercury.SnippetToolbar", ->
|
|
174
188
|
expect(@setTimeoutSpy.callCount).toEqual(1)
|
175
189
|
|
176
190
|
it "hides the element", ->
|
177
|
-
@setTimeoutSpy.andCallFake((
|
191
|
+
@setTimeoutSpy.andCallFake((callback, timeout) => callback())
|
178
192
|
@snippetToolbar.hide()
|
179
193
|
expect(@snippetToolbar.element.css('display')).toEqual('none')
|
180
194
|
|
181
195
|
it "sets visible", ->
|
182
|
-
@setTimeoutSpy.andCallFake((
|
196
|
+
@setTimeoutSpy.andCallFake((callback, timeout) => callback())
|
183
197
|
@snippetToolbar.hide()
|
184
198
|
expect(@snippetToolbar.visible).toEqual(false)
|
199
|
+
|
@@ -1,8 +1,7 @@
|
|
1
1
|
describe "Mercury.Statusbar", ->
|
2
2
|
|
3
|
-
template 'mercury/statusbar.html'
|
4
|
-
|
5
3
|
beforeEach ->
|
4
|
+
fixture.load('mercury/statusbar.html')
|
6
5
|
$.fx.off = true
|
7
6
|
@region = {
|
8
7
|
path: -> [{tagName: 'A'}, {tagName: 'B'}, {tagName: 'C'}]
|
@@ -17,7 +16,7 @@ describe "Mercury.Statusbar", ->
|
|
17
16
|
beforeEach ->
|
18
17
|
@buildSpy = spyOn(Mercury.Statusbar.prototype, 'build')
|
19
18
|
@bindEventsSpy = spyOn(Mercury.Statusbar.prototype, 'bindEvents')
|
20
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
19
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el, foo: 'bar', visible: false})
|
21
20
|
|
22
21
|
it "accepts options", ->
|
23
22
|
expect(@statusbar.options.foo).toEqual('bar')
|
@@ -55,7 +54,7 @@ describe "Mercury.Statusbar", ->
|
|
55
54
|
describe "observed events ", ->
|
56
55
|
|
57
56
|
beforeEach ->
|
58
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
57
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el})
|
59
58
|
|
60
59
|
describe "custom event: region:update", ->
|
61
60
|
|
@@ -76,7 +75,7 @@ describe "Mercury.Statusbar", ->
|
|
76
75
|
|
77
76
|
beforeEach ->
|
78
77
|
spyOn(Mercury.Statusbar.prototype, 'bindEvents').andCallFake(=>)
|
79
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
78
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el, visible: true})
|
80
79
|
|
81
80
|
it "knows it's own height", ->
|
82
81
|
expect(@statusbar.height()).toEqual(20) # styled with css in the template
|
@@ -88,7 +87,7 @@ describe "Mercury.Statusbar", ->
|
|
88
87
|
|
89
88
|
beforeEach ->
|
90
89
|
spyOn(Mercury.Statusbar.prototype, 'bindEvents').andCallFake(=>)
|
91
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
90
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el, visible: true})
|
92
91
|
|
93
92
|
it "returns the offset top of the element", ->
|
94
93
|
expect(@statusbar.top()).toEqual($('.mercury-statusbar').offset().top)
|
@@ -97,7 +96,7 @@ describe "Mercury.Statusbar", ->
|
|
97
96
|
|
98
97
|
beforeEach ->
|
99
98
|
spyOn(Mercury.Statusbar.prototype, 'bindEvents').andCallFake(=>)
|
100
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
99
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el, visible: false})
|
101
100
|
|
102
101
|
it "returns the offset top of the element + it's outer height", ->
|
103
102
|
expect(@statusbar.top()).toEqual($('.mercury-statusbar').offset().top + $('.mercury-statusbar').outerHeight())
|
@@ -106,7 +105,7 @@ describe "Mercury.Statusbar", ->
|
|
106
105
|
describe "#setPath", ->
|
107
106
|
|
108
107
|
beforeEach ->
|
109
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
108
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el})
|
110
109
|
|
111
110
|
it "builds a path and displays it", ->
|
112
111
|
@statusbar.setPath(@region.path())
|
@@ -116,7 +115,7 @@ describe "Mercury.Statusbar", ->
|
|
116
115
|
describe "#show", ->
|
117
116
|
|
118
117
|
beforeEach ->
|
119
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
118
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el, visible: false})
|
120
119
|
|
121
120
|
it "sets visible to true", ->
|
122
121
|
@statusbar.visible = false
|
@@ -137,7 +136,7 @@ describe "Mercury.Statusbar", ->
|
|
137
136
|
describe "#hide", ->
|
138
137
|
|
139
138
|
beforeEach ->
|
140
|
-
@statusbar = new Mercury.Statusbar({appendTo:
|
139
|
+
@statusbar = new Mercury.Statusbar({appendTo: fixture.el, visible: true})
|
141
140
|
|
142
141
|
it "sets visible to false", ->
|
143
142
|
@statusbar.visible = true
|
@@ -1,11 +1,10 @@
|
|
1
1
|
describe "Mercury.Toolbar.ButtonGroup", ->
|
2
2
|
|
3
|
-
template 'mercury/toolbar.button_group.html'
|
4
|
-
|
5
3
|
beforeEach ->
|
4
|
+
fixture.load('mercury/toolbar.button_group.html')
|
6
5
|
Mercury.Toolbar.ButtonGroup.contexts.foo = -> false
|
7
6
|
@region = {
|
8
|
-
element: $('<div
|
7
|
+
element: $('<div>')
|
9
8
|
currentElement: -> $('<div>')
|
10
9
|
}
|
11
10
|
|
@@ -50,8 +49,8 @@ describe "Mercury.Toolbar.ButtonGroup", ->
|
|
50
49
|
|
51
50
|
beforeEach ->
|
52
51
|
@region = {
|
53
|
-
type: '
|
54
|
-
element: $('<div
|
52
|
+
type: -> 'full'
|
53
|
+
element: $('<div>')
|
55
54
|
}
|
56
55
|
|
57
56
|
it "disables if the region type isn't supported", ->
|
@@ -61,7 +60,7 @@ describe "Mercury.Toolbar.ButtonGroup", ->
|
|
61
60
|
expect(@buttonGroup.hasClass('disabled')).toEqual(true)
|
62
61
|
|
63
62
|
it "enables if the region type is supported", ->
|
64
|
-
@buttonGroup = new Mercury.Toolbar.ButtonGroup('foo', {_regions: ['
|
63
|
+
@buttonGroup = new Mercury.Toolbar.ButtonGroup('foo', {_regions: ['full']})
|
65
64
|
@buttonGroup.addClass('disabled')
|
66
65
|
Mercury.trigger('region:focused', {region: @region})
|
67
66
|
expect(@buttonGroup.hasClass('disabled')).toEqual(false)
|
@@ -69,7 +68,7 @@ describe "Mercury.Toolbar.ButtonGroup", ->
|
|
69
68
|
describe "custom event: region:blurred", ->
|
70
69
|
|
71
70
|
it "disables if it's a button group for specific region types", ->
|
72
|
-
@buttonGroup = new Mercury.Toolbar.ButtonGroup('foo', {_regions: ['
|
71
|
+
@buttonGroup = new Mercury.Toolbar.ButtonGroup('foo', {_regions: ['full']})
|
73
72
|
@buttonGroup.removeClass('disabled')
|
74
73
|
Mercury.trigger('region:blurred', {region: @region})
|
75
74
|
|
@@ -77,9 +76,8 @@ describe "Mercury.Toolbar.ButtonGroup", ->
|
|
77
76
|
|
78
77
|
describe "Mercury.Toolbar.ButtonGroup.contexts", ->
|
79
78
|
|
80
|
-
template 'mercury/toolbar.button_group.html'
|
81
|
-
|
82
79
|
beforeEach ->
|
80
|
+
fixture.load('mercury/toolbar.button_group.html')
|
83
81
|
@contexts = Mercury.Toolbar.ButtonGroup.contexts
|
84
82
|
@region = $('#context_container')
|
85
83
|
|
@@ -1,13 +1,12 @@
|
|
1
1
|
describe "Mercury.Toolbar.Button", ->
|
2
2
|
|
3
|
-
template 'mercury/toolbar.button.html'
|
4
|
-
|
5
3
|
beforeEach ->
|
6
|
-
|
4
|
+
fixture.load('mercury/toolbar.button.html')
|
5
|
+
Mercury.displayRect = {top: 0, left: 0, width: 500, height: 200}
|
7
6
|
Mercury.Toolbar.Button.contexts.foo = -> true
|
8
7
|
@region = {
|
9
|
-
type: '
|
10
|
-
element: $('<div
|
8
|
+
type: -> 'full'
|
9
|
+
element: $('<div>')
|
11
10
|
currentElement: -> $('<div>')
|
12
11
|
}
|
13
12
|
Mercury.preloadedViews['/nothing'] = 'nothing'
|
@@ -28,7 +27,7 @@ describe "Mercury.Toolbar.Button", ->
|
|
28
27
|
expect(html).toContain('<em>title</em>')
|
29
28
|
|
30
29
|
it "accepts summary, types and options", ->
|
31
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {palette: '/nothing'}, {appendDialogsTo:
|
30
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {palette: '/nothing'}, {appendDialogsTo: fixture.el})
|
32
31
|
html = $('<div>').html(@button).html()
|
33
32
|
expect(html).toContain('title="summary"')
|
34
33
|
expect(html).toContain('class="mercury-button mercury-foo-button mercury-button-palette"')
|
@@ -71,15 +70,15 @@ describe "Mercury.Toolbar.Button", ->
|
|
71
70
|
expect(spy.argsForCall[0]).toEqual(['mode', {mode: 'foo'}])
|
72
71
|
|
73
72
|
it "builds buttons that understand context", ->
|
74
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {context: true})
|
73
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {context: true}, {appendDialogsTo: fixture.el})
|
75
74
|
|
76
75
|
expect(@button.hasClass('active')).toEqual(false)
|
77
76
|
Mercury.trigger('region:update', {region: @region})
|
78
77
|
expect(@button.hasClass('active')).toEqual(true)
|
79
78
|
|
80
79
|
it "builds panel buttons (and assigns toggle)", ->
|
81
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {panel: '/blank.html'}, {appendDialogsTo:
|
82
|
-
expect($('
|
80
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {panel: '/blank.html'}, {appendDialogsTo: fixture.el})
|
81
|
+
expect($('.mercury-panel', fixture.el).length).toEqual(1)
|
83
82
|
|
84
83
|
jasmine.simulate.click(@button.get(0))
|
85
84
|
expect(@button.hasClass('pressed')).toEqual(true)
|
@@ -87,20 +86,36 @@ describe "Mercury.Toolbar.Button", ->
|
|
87
86
|
jasmine.simulate.click(@button.get(0))
|
88
87
|
expect(@button.hasClass('pressed')).toEqual(false)
|
89
88
|
|
89
|
+
it "builds a panel button with a custom panel object", ->
|
90
|
+
namespace = {}
|
91
|
+
namespace.customPanel = ->
|
92
|
+
namespace.customPanel::toggle = ->
|
93
|
+
'toggled'
|
94
|
+
handler = (name)->
|
95
|
+
new namespace.customPanel()
|
96
|
+
|
97
|
+
constructorSpy = spyOn(namespace, 'customPanel').andCallThrough()
|
98
|
+
panelSpy = spyOn(Mercury, 'Panel')
|
99
|
+
|
100
|
+
@button = new Mercury.Toolbar.Button('customFoo', 'title', 'summary', {panel: handler}, {appendDialogsTo: fixture.el})
|
101
|
+
expect(constructorSpy).toHaveBeenCalled()
|
102
|
+
expect(panelSpy).wasNotCalled()
|
103
|
+
|
104
|
+
|
90
105
|
it "builds palette buttons", ->
|
91
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {palette: '/blank.html'}, {appendDialogsTo:
|
92
|
-
expect($('
|
106
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {palette: '/blank.html'}, {appendDialogsTo: fixture.el})
|
107
|
+
expect($('.mercury-palette', fixture.el).length).toEqual(1)
|
93
108
|
|
94
109
|
it "builds select buttons", ->
|
95
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {select: '/blank.html'}, {appendDialogsTo:
|
96
|
-
expect($('
|
110
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {select: '/blank.html'}, {appendDialogsTo: fixture.el})
|
111
|
+
expect($('.mercury-select', fixture.el).length).toEqual(1)
|
97
112
|
|
98
113
|
it "builds modal buttons", ->
|
99
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {modal: '/blank.html'}, {appendDialogsTo:
|
114
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {modal: '/blank.html'}, {appendDialogsTo: fixture.el})
|
100
115
|
# nothing unique about this in building -- the modal is built/fired on click
|
101
116
|
|
102
117
|
it "builds lightview buttons", ->
|
103
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {lightview: '/blank.html'}, {appendDialogsTo:
|
118
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {lightview: '/blank.html'}, {appendDialogsTo: fixture.el})
|
104
119
|
# nothing unique about this in building -- the lightview is built/fired on click
|
105
120
|
|
106
121
|
it "throws an error when an unknown type is encountered", ->
|
@@ -113,12 +128,13 @@ describe "Mercury.Toolbar.Button", ->
|
|
113
128
|
|
114
129
|
describe "custom event: button", ->
|
115
130
|
|
116
|
-
it "calls click on the button itself"
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
131
|
+
it "calls click on the button itself" #, ->
|
132
|
+
# todo: ! bleed over -- elements remain
|
133
|
+
# @button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {context: true})
|
134
|
+
# spy = spyOn(@button, 'click').andCallFake(=>)
|
135
|
+
#
|
136
|
+
# Mercury.trigger('button', {action: 'foo'})
|
137
|
+
# expect(spy.callCount).toEqual(1)
|
122
138
|
|
123
139
|
describe "custom event: mode", ->
|
124
140
|
|
@@ -150,7 +166,7 @@ describe "Mercury.Toolbar.Button", ->
|
|
150
166
|
expect(@button.hasClass('disabled')).toEqual(true)
|
151
167
|
|
152
168
|
it "enables if the region type is supported", ->
|
153
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {context: true, regions: ['
|
169
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {context: true, regions: ['full']})
|
154
170
|
@button.addClass('disabled')
|
155
171
|
Mercury.trigger('region:focused', {region: @region})
|
156
172
|
expect(@button.hasClass('disabled')).toEqual(false)
|
@@ -158,7 +174,7 @@ describe "Mercury.Toolbar.Button", ->
|
|
158
174
|
describe "custom event: region:blurred", ->
|
159
175
|
|
160
176
|
it "disables if it's a button for specific region types", ->
|
161
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {context: true, regions: ['
|
177
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {context: true, regions: ['full']})
|
162
178
|
@button.addClass('disabled')
|
163
179
|
Mercury.trigger('region:blurred', {region: @region})
|
164
180
|
expect(@button.hasClass('disabled')).toEqual(true)
|
@@ -203,7 +219,7 @@ describe "Mercury.Toolbar.Button", ->
|
|
203
219
|
|
204
220
|
it "triggers a focus:frame event", ->
|
205
221
|
spy = spyOn(Mercury, 'trigger').andCallFake(=>)
|
206
|
-
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {}, {regions: ['
|
222
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {}, {regions: ['full']})
|
207
223
|
|
208
224
|
jasmine.simulate.click(@button.get(0))
|
209
225
|
expect(spy.argsForCall[1]).toEqual(['focus:frame'])
|
@@ -268,12 +284,25 @@ describe "Mercury.Toolbar.Button", ->
|
|
268
284
|
jasmine.simulate.click(@button.get(0))
|
269
285
|
expect(spy.callCount).toEqual(2)
|
270
286
|
|
287
|
+
it "shows and hides the custom panel", ->
|
288
|
+
namespace = {}
|
289
|
+
namespace.customPanel = ->
|
290
|
+
namespace.customPanel::toggle = ->
|
291
|
+
'toggled'
|
292
|
+
handler = (name)->
|
293
|
+
new namespace.customPanel()
|
294
|
+
|
295
|
+
toggleSpy = spyOn(namespace.customPanel.prototype, 'toggle')
|
296
|
+
@button = new Mercury.Toolbar.Button('foo', 'title', 'summary', {panel: handler}, {appendDialogsTo: fixture.el})
|
297
|
+
|
298
|
+
jasmine.simulate.click(@button.get(0))
|
299
|
+
expect(toggleSpy).toHaveBeenCalled()
|
271
300
|
|
272
|
-
describe "Mercury.Toolbar.Button.contexts", ->
|
273
301
|
|
274
|
-
|
302
|
+
describe "Mercury.Toolbar.Button.contexts", ->
|
275
303
|
|
276
304
|
beforeEach ->
|
305
|
+
fixture.load('mercury/toolbar.button.html')
|
277
306
|
@contexts = Mercury.Toolbar.Button.contexts
|
278
307
|
@region = $('#context_container')
|
279
308
|
@element = $('#context_button')
|
@@ -1,8 +1,7 @@
|
|
1
1
|
describe "Mercury.Toolbar.Expander", ->
|
2
2
|
|
3
|
-
template 'mercury/toolbar.expander.html'
|
4
|
-
|
5
3
|
beforeEach ->
|
4
|
+
fixture.load('mercury/toolbar.expander.html')
|
6
5
|
@container = $('#expander_container')
|
7
6
|
|
8
7
|
afterEach ->
|
@@ -13,20 +12,20 @@ describe "Mercury.Toolbar.Expander", ->
|
|
13
12
|
describe "constructor", ->
|
14
13
|
|
15
14
|
beforeEach ->
|
16
|
-
@expander = new Mercury.Toolbar.Expander('foo', {appendTo:
|
15
|
+
@expander = new Mercury.Toolbar.Expander('foo', {appendTo: fixture.el, for: @container})
|
17
16
|
|
18
17
|
it "expects a name, and options", ->
|
19
18
|
html = $('<div>').html(@expander).html()
|
20
19
|
expect(html).toContain('class="mercury-palette mercury-expander mercury-foo-expander"')
|
21
20
|
expect(html).toMatch(/style="display:\s?none/)
|
22
|
-
expect($('
|
21
|
+
expect($('.mercury-toolbar-expander', fixture.el).length).toEqual(1)
|
23
22
|
|
24
23
|
|
25
24
|
describe "#build", ->
|
26
25
|
|
27
26
|
beforeEach ->
|
28
27
|
@resizeSpy = spyOn(Mercury.Toolbar.Expander.prototype, 'windowResize').andCallFake(=>)
|
29
|
-
@expander = new Mercury.Toolbar.Expander('foo', {appendTo:
|
28
|
+
@expander = new Mercury.Toolbar.Expander('foo', {appendTo: fixture.el, for: @container})
|
30
29
|
|
31
30
|
it "sets the whitespace of the container to normal", ->
|
32
31
|
expect(@container.css('whiteSpace')).toEqual('normal')
|
@@ -37,7 +36,7 @@ describe "Mercury.Toolbar.Expander", ->
|
|
37
36
|
expect(html).toMatch(/style="display:\s?none/)
|
38
37
|
|
39
38
|
it "builds a trigger button", ->
|
40
|
-
expect($('
|
39
|
+
expect($('.mercury-toolbar-expander', fixture.el).length).toEqual(1)
|
41
40
|
|
42
41
|
it "calls windowResize", ->
|
43
42
|
expect(@resizeSpy.callCount).toEqual(1)
|
@@ -47,7 +46,7 @@ describe "Mercury.Toolbar.Expander", ->
|
|
47
46
|
|
48
47
|
beforeEach ->
|
49
48
|
$('.mercury-button').data('expander', '<div data-button="test">expander</div>')
|
50
|
-
@expander = new Mercury.Toolbar.Expander('foo', {appendTo:
|
49
|
+
@expander = new Mercury.Toolbar.Expander('foo', {appendTo: fixture.el, for: @container})
|
51
50
|
|
52
51
|
describe "custom event: hide:dialogs", ->
|
53
52
|
|
@@ -81,29 +80,30 @@ describe "Mercury.Toolbar.Expander", ->
|
|
81
80
|
button = $('#button2')
|
82
81
|
spy = spyOn(button, 'click').andCallFake(=>)
|
83
82
|
@container.find = -> button
|
84
|
-
@expander.appendTo(
|
83
|
+
@expander.appendTo(fixture.el)
|
85
84
|
|
86
85
|
jasmine.simulate.click($('.mercury-toolbar-expander').get(0))
|
87
86
|
jasmine.simulate.click($('[data-button=test]').get(0))
|
88
87
|
expect(spy.callCount).toEqual(1)
|
89
88
|
|
89
|
+
|
90
90
|
describe "#windowResize", ->
|
91
91
|
|
92
92
|
it "hides", ->
|
93
|
-
@expander = new Mercury.Toolbar.Expander('foo', {appendTo:
|
93
|
+
@expander = new Mercury.Toolbar.Expander('foo', {appendTo: fixture.el, for: @container})
|
94
94
|
@expander.css({display: 'block'})
|
95
95
|
|
96
96
|
Mercury.trigger('resize')
|
97
97
|
expect(@expander.css('display')).toEqual('none')
|
98
98
|
|
99
99
|
it "shows the trigger if the container is wider than the window", ->
|
100
|
-
@expander = new Mercury.Toolbar.Expander('foo', {appendTo:
|
100
|
+
@expander = new Mercury.Toolbar.Expander('foo', {appendTo: fixture.el, for: @container})
|
101
101
|
Mercury.trigger('resize')
|
102
|
-
expect($('.mercury-toolbar-expander').css('display')).toEqual('
|
102
|
+
expect($('.mercury-toolbar-expander').css('display')).toEqual('none')
|
103
103
|
|
104
104
|
it "hides the trigger if the container is narrower than the window", ->
|
105
105
|
@container.css({width: '1px'})
|
106
|
-
@expander = new Mercury.Toolbar.Expander('foo', {appendTo:
|
106
|
+
@expander = new Mercury.Toolbar.Expander('foo', {appendTo: fixture.el, for: @container})
|
107
107
|
Mercury.trigger('resize')
|
108
108
|
expect($('.mercury-toolbar-expander').css('display')).toEqual('none')
|
109
109
|
|
@@ -111,7 +111,7 @@ describe "Mercury.Toolbar.Expander", ->
|
|
111
111
|
describe "#position", ->
|
112
112
|
|
113
113
|
it "positions the element", ->
|
114
|
-
@expander = new Mercury.Toolbar.Expander('foo', {appendTo:
|
114
|
+
@expander = new Mercury.Toolbar.Expander('foo', {appendTo: fixture.el, for: @container})
|
115
115
|
@expander.appendTo('#positioned_container')
|
116
116
|
jasmine.simulate.click($('.mercury-toolbar-expander').get(0))
|
117
117
|
|