modularity-rails 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/.travis.yml +4 -6
  2. data/Guardfile +3 -4
  3. data/demo/.gitignore +15 -0
  4. data/demo/Gemfile +23 -0
  5. data/demo/README.rdoc +261 -0
  6. data/demo/Rakefile +7 -0
  7. data/demo/app/assets/images/rails.png +0 -0
  8. data/demo/app/assets/javascripts/application.coffee +2 -0
  9. data/demo/app/assets/stylesheets/application.css +13 -0
  10. data/demo/app/controllers/application_controller.rb +3 -0
  11. data/demo/app/helpers/application_helper.rb +2 -0
  12. data/demo/app/mailers/.gitkeep +0 -0
  13. data/demo/app/models/.gitkeep +0 -0
  14. data/demo/app/views/layouts/application.html.erb +14 -0
  15. data/demo/config.ru +4 -0
  16. data/demo/config/application.rb +59 -0
  17. data/demo/config/boot.rb +6 -0
  18. data/demo/config/database.yml +25 -0
  19. data/demo/config/environment.rb +5 -0
  20. data/demo/config/environments/development.rb +37 -0
  21. data/demo/config/environments/production.rb +67 -0
  22. data/demo/config/environments/test.rb +37 -0
  23. data/demo/config/initializers/backtrace_silencers.rb +7 -0
  24. data/demo/config/initializers/inflections.rb +15 -0
  25. data/demo/config/initializers/konacha.rb +5 -0
  26. data/demo/config/initializers/mime_types.rb +5 -0
  27. data/demo/config/initializers/secret_token.rb +7 -0
  28. data/demo/config/initializers/session_store.rb +8 -0
  29. data/demo/config/initializers/wrap_parameters.rb +14 -0
  30. data/demo/config/locales/en.yml +5 -0
  31. data/demo/config/routes.rb +58 -0
  32. data/demo/db/seeds.rb +7 -0
  33. data/demo/lib/assets/.gitkeep +0 -0
  34. data/demo/lib/tasks/.gitkeep +0 -0
  35. data/demo/log/.gitkeep +0 -0
  36. data/demo/public/404.html +26 -0
  37. data/demo/public/422.html +26 -0
  38. data/demo/public/500.html +25 -0
  39. data/demo/public/favicon.ico +0 -0
  40. data/demo/public/index.html +241 -0
  41. data/demo/public/robots.txt +5 -0
  42. data/demo/script/rails +6 -0
  43. data/demo/spec/javascripts/konacha_config.coffee +1 -0
  44. data/demo/spec/javascripts/mixins/closable_spec.coffee +98 -0
  45. data/{spec → demo/spec}/javascripts/modularity_spec.coffee +118 -109
  46. data/demo/spec/javascripts/modules/autogrow_textarea_spec.coffee +43 -0
  47. data/demo/spec/javascripts/modules/button_spec.coffee +39 -0
  48. data/demo/spec/javascripts/modules/counter_button_spec.coffee +57 -0
  49. data/demo/spec/javascripts/sinon-chai.js +116 -0
  50. data/demo/spec/javascripts/sinon.js +3555 -0
  51. data/demo/spec/javascripts/spec_helper.coffee +11 -0
  52. data/demo/spec/javascripts/templates/autogrow_textarea.jst.ejs +2 -0
  53. data/{spec/javascripts/templates/button.html → demo/spec/javascripts/templates/button.jst.ejs} +0 -0
  54. data/{spec/javascripts/templates/closable.html → demo/spec/javascripts/templates/closable.jst.ejs} +0 -0
  55. data/{spec/javascripts/templates/test.html → demo/spec/javascripts/templates/modularity.jst.ejs} +0 -0
  56. data/{spec → demo/spec}/javascripts/tools/ajax_loader_spec.coffee +21 -27
  57. data/{spec → demo/spec}/javascripts/tools/cache_spec.coffee +13 -18
  58. data/demo/vendor/assets/javascripts/.gitkeep +0 -0
  59. data/demo/vendor/assets/stylesheets/.gitkeep +0 -0
  60. data/demo/vendor/plugins/.gitkeep +0 -0
  61. data/lib/modularity-rails/version.rb +1 -1
  62. data/run_tests +6 -0
  63. data/vendor/assets/javascripts/modularity.js.coffee +2 -1
  64. data/vendor/assets/javascripts/modules/autogrow_textarea.coffee +31 -0
  65. data/vendor/assets/javascripts/modules/counter_button.coffee +2 -0
  66. metadata +73 -26
  67. data/spec/javascripts/external/coffee-script.js +0 -8
  68. data/spec/javascripts/external/jasmine-jquery.js +0 -288
  69. data/spec/javascripts/external/jquery.min.js +0 -4
  70. data/spec/javascripts/mixins/closable_spec.coffee +0 -101
  71. data/spec/javascripts/modules/button_spec.coffee +0 -45
  72. data/spec/javascripts/modules/counter_button_spec.coffee +0 -64
  73. data/spec/javascripts/spec_helper.coffee +0 -22
@@ -1,64 +0,0 @@
1
- #= require spec_helper
2
-
3
- describe 'test environment setup', ->
4
-
5
- it 'loading libraries', ->
6
- load_modularity()
7
- loadCS "/vendor/assets/javascripts/mixins/clickable.coffee"
8
- loadCS "/vendor/assets/javascripts/modules/button.coffee"
9
- loadCS "/vendor/assets/javascripts/modules/counter_button.coffee"
10
-
11
-
12
- describe 'CounterButton', ->
13
- template 'button.html'
14
-
15
- describe 'standard button functionality', ->
16
-
17
- describe 'manual clicks', ->
18
-
19
- it 'fires when clicking on the container directly', ->
20
- button = new modularity.CounterButton('#test #button1')
21
- button.bind_event('clicked', (spy = jasmine.createSpy()))
22
-
23
- button.container.click()
24
-
25
- expect(spy).toHaveBeenCalled()
26
- expect(spy.callCount).toEqual(1)
27
-
28
-
29
- it 'fires when clicking embedded elements of the button', ->
30
- button = new modularity.CounterButton('#test #button2')
31
- button.bind_event('clicked', (spy = jasmine.createSpy()))
32
-
33
- button.container.find('.embedded').click()
34
-
35
- expect(spy).toHaveBeenCalled()
36
- expect(spy.callCount).toEqual(1)
37
-
38
- describe 'programmatic clicks', ->
39
-
40
- it 'programmatically clicks the button', ->
41
- button = new modularity.CounterButton('#test #button2')
42
- spy = jasmine.createSpy()
43
- button.bind_event('clicked', spy)
44
-
45
- button.click()
46
-
47
- expect(spy).toHaveBeenCalled()
48
-
49
- describe 'CounterButton specific functionality', ->
50
-
51
- it 'provides the click counter as the event payload', ->
52
- button = new modularity.CounterButton('#test #button1')
53
- button.bind_event('clicked', (spy = jasmine.createSpy()))
54
-
55
- button.container.click()
56
- button.container.click()
57
- button.container.click()
58
-
59
- expect(spy.callCount).toEqual(3)
60
- expect(spy.argsForCall[0][1]).toEqual(1)
61
- expect(spy.argsForCall[1][1]).toEqual(2)
62
- expect(spy.argsForCall[2][1]).toEqual(3)
63
-
64
-
@@ -1,22 +0,0 @@
1
- require('/spec/javascripts/external/jquery.min.js')
2
- require('/spec/javascripts/external/jasmine-jquery.js')
3
- require('/spec/javascripts/external/coffee-script.js')
4
-
5
- # Helper method to circumvent that Evergreen doesn't load CoffeeScript files.
6
- window.loadCS = (url, callback) ->
7
- $.ajax
8
- url: url
9
- async: false
10
- success: (data) ->
11
- eval CoffeeScript.compile data
12
- callback() if callback
13
-
14
-
15
- window.load_modularity = ->
16
- loadCS "/vendor/assets/javascripts/modularity.js.coffee?#{(new Date()).getTime()}"
17
-
18
-
19
- beforeEach ->
20
- @addMatchers
21
- toHaveLength: (expected) ->
22
- this.length == expected