clndr-rails 1.2.10.1 → 1.4.6.1.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +10 -10
  3. data/lib/clndr-rails.rb +230 -230
  4. data/lib/clndr-rails/config.rb +114 -114
  5. data/lib/clndr-rails/errors.rb +19 -19
  6. data/lib/clndr-rails/templates.rb +94 -94
  7. data/lib/clndr-rails/version.rb +1 -1
  8. data/test/dummy/config/initializers/clndr.rb +27 -27
  9. data/test/dummy/log/test.log +372 -16927
  10. data/test/dummy/spec/controllers/base_controller_spec.rb +12 -12
  11. data/test/dummy/spec/spec_helper.rb +93 -93
  12. data/test/spec/clndr-rails_spec.rb +28 -28
  13. data/test/spec/configuration_spec.rb +136 -136
  14. data/test/spec/events_spec.rb +62 -62
  15. data/test/spec/html_spec.rb +199 -199
  16. data/test/spec/spec_helper.rb +15 -15
  17. data/test/spec/templates_spec.rb +70 -70
  18. data/vendor/assets/javascripts/clndr-rails/clndr.min.js +2 -2
  19. metadata +26 -246
  20. data/test/dummy/db/development.sqlite3 +0 -0
  21. data/test/dummy/log/development (/320/232/320/276/320/275/321/204/320/273/320/270/320/272/321/202/321/203/321/216/321/211/320/260/321/217 /320/272/320/276/320/277/320/270/321/217 /321/201 /320/272/320/276/320/274/320/277/321/214/321/216/321/202/320/265/321/200/320/260 DELTAPC2 2014-12-25).log" +0 -19726
  22. data/test/dummy/log/development.log +0 -22099
  23. data/test/dummy/tmp/cache/assets/development/sass/7c98d0fae9192743d8c55a5e8e53de41ac6246a9/clndr-rails.css.scssc +0 -0
  24. data/test/dummy/tmp/cache/assets/development/sprockets/003c68cd1f3ba2d6344147bb52d8fd1a +0 -0
  25. data/test/dummy/tmp/cache/assets/development/sprockets/02c5e1a21d4a4605f8b34eca639a1f70 +0 -0
  26. data/test/dummy/tmp/cache/assets/development/sprockets/0687b70ce11a7e80dcd39da365dd5a8a +0 -0
  27. data/test/dummy/tmp/cache/assets/development/sprockets/08b993c8e83ad57a4ecb8d753b4620d5 +0 -0
  28. data/test/dummy/tmp/cache/assets/development/sprockets/1223ac7ac3a460c3f9ce66e828acdc67 +0 -0
  29. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  30. data/test/dummy/tmp/cache/assets/development/sprockets/1cc60160d9e0a352994b8eb6b8313b1a +0 -0
  31. data/test/dummy/tmp/cache/assets/development/sprockets/1d658adc7cb09c209c423c9138dbacee +0 -0
  32. data/test/dummy/tmp/cache/assets/development/sprockets/28cfd59c37a42a9ea808d622b0177c86 +0 -0
  33. data/test/dummy/tmp/cache/assets/development/sprockets/2aeab94961f3936633223fba03e2a6ed +0 -0
  34. data/test/dummy/tmp/cache/assets/development/sprockets/2be3a826c076d8c8854c94ebc3a6d773 +0 -0
  35. data/test/dummy/tmp/cache/assets/development/sprockets/2e471d0b6fa1aa6817c6d3e773648a43 +0 -0
  36. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  37. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  38. data/test/dummy/tmp/cache/assets/development/sprockets/3b526052e48eb4ad5375fb6432761828 +0 -0
  39. data/test/dummy/tmp/cache/assets/development/sprockets/4069980b5689edf29f7bc438d62f44e9 +0 -0
  40. data/test/dummy/tmp/cache/assets/development/sprockets/42927f6bcf2f320e08ea8ff02d5c8209 +0 -0
  41. data/test/dummy/tmp/cache/assets/development/sprockets/433724373619c6185a095523fd7c7fe0 +0 -0
  42. data/test/dummy/tmp/cache/assets/development/sprockets/460632c7db14d41cf7371b6b4bb64157 +0 -0
  43. data/test/dummy/tmp/cache/assets/development/sprockets/486f42c6c97c7a42b88dc91fc2d5a864 +0 -0
  44. data/test/dummy/tmp/cache/assets/development/sprockets/4a9158fb3a677a8253fa2a7e93551175 +0 -0
  45. data/test/dummy/tmp/cache/assets/development/sprockets/4ad6cd41e5b645f9ceef10b1e3baea77 +0 -0
  46. data/test/dummy/tmp/cache/assets/development/sprockets/4b2e05f2b06345dfee1d683a3fdd29e7 +0 -0
  47. data/test/dummy/tmp/cache/assets/development/sprockets/51408facf1bc7598eedca202daf4ba96 +0 -0
  48. data/test/dummy/tmp/cache/assets/development/sprockets/53eedf0ac9053fc3d462eabaf534bd05 +0 -0
  49. data/test/dummy/tmp/cache/assets/development/sprockets/580892b79dd41de64c62d07404cd1a12 +0 -0
  50. data/test/dummy/tmp/cache/assets/development/sprockets/58dc697381035be4d343e2b19720c10c +0 -0
  51. data/test/dummy/tmp/cache/assets/development/sprockets/5a6cb5cfc573c611e29c2ac98103701f +0 -0
  52. data/test/dummy/tmp/cache/assets/development/sprockets/5f78b3457def1d02bd3fb75d4e0cfb63 +0 -0
  53. data/test/dummy/tmp/cache/assets/development/sprockets/643ff98d256ca160a0cb4ca0fc83ffdb +0 -0
  54. data/test/dummy/tmp/cache/assets/development/sprockets/684604af0ae58f9e55f2992fe9c466d7 +0 -0
  55. data/test/dummy/tmp/cache/assets/development/sprockets/6b158f7584f499d82165f5ccaf303d16 +0 -0
  56. data/test/dummy/tmp/cache/assets/development/sprockets/6c33e774b86f9ef5ba24ffbe52bed674 +0 -0
  57. data/test/dummy/tmp/cache/assets/development/sprockets/6c9c1cfb50b40b88dd14926792400890 +0 -0
  58. data/test/dummy/tmp/cache/assets/development/sprockets/6f78527844795b9b46156d0576fffe63 +0 -0
  59. data/test/dummy/tmp/cache/assets/development/sprockets/73938775f2e5bebe09996667ea3dd302 +0 -0
  60. data/test/dummy/tmp/cache/assets/development/sprockets/74efa8b198344d1b86c6531144584f3e +0 -0
  61. data/test/dummy/tmp/cache/assets/development/sprockets/78573c83ee7596aaed9105a0ed816f5d +0 -0
  62. data/test/dummy/tmp/cache/assets/development/sprockets/7b51783beb0f6f17617f87ef5d2688e3 +0 -0
  63. data/test/dummy/tmp/cache/assets/development/sprockets/7b60bb572e6a268c62e728ed79fb2cda +0 -0
  64. data/test/dummy/tmp/cache/assets/development/sprockets/82eac1b4407ccfbc517558b830c67a53 +0 -0
  65. data/test/dummy/tmp/cache/assets/development/sprockets/8329b2874924fc312c31e87ef69a88bb +0 -0
  66. data/test/dummy/tmp/cache/assets/development/sprockets/83ed9f0dcdd68efbed721b2b10fcda6b +0 -0
  67. data/test/dummy/tmp/cache/assets/development/sprockets/9123d280fa9cc0d16a1ec96a3e44bcc1 +0 -0
  68. data/test/dummy/tmp/cache/assets/development/sprockets/93120bd88f1e2293fc55c191aeab678a +0 -0
  69. data/test/dummy/tmp/cache/assets/development/sprockets/9334f44096c23e8904784b524e6ae750 +0 -0
  70. data/test/dummy/tmp/cache/assets/development/sprockets/954c1c7328e5b9c43abd84f4981286c7 +0 -0
  71. data/test/dummy/tmp/cache/assets/development/sprockets/9bd8392ddf2b52be4b455e52a628d169 +0 -0
  72. data/test/dummy/tmp/cache/assets/development/sprockets/9c89c900cca1bf92a5f29c304d323256 +0 -0
  73. data/test/dummy/tmp/cache/assets/development/sprockets/9e158358644b7e1cbee43defd7d7b449 +0 -0
  74. data/test/dummy/tmp/cache/assets/development/sprockets/a086b63b827c2bdef684cc4985c925fc +0 -0
  75. data/test/dummy/tmp/cache/assets/development/sprockets/a4ce04494de7990c1b23b8498b2fb743 +0 -0
  76. data/test/dummy/tmp/cache/assets/development/sprockets/a62be18dea33018456ea9b72b4a9e10b +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sprockets/a780ea7d8044a1786c8bfd4b3df13491 +0 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/a7f1637ae79393f95fd20936e91d62d0 +0 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/ab8a19b4c942c018374d61f4f99235dc +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/ad861213dbd41ab02600f740c9bb1dee +0 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/ae0ae68c837285b67a4fc1df4dddb939 +0 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/b419fd5d14fd53ae2fffa3026f0f4aa4 +0 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/b6c986125db42513425f8a84e0021579 +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/b85bb5a9001b8d932b99e152afc282b9 +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/bb2f6a70a78dd0eb8181c7f495e82f57 +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/bd28ee35f981cb10b9740ee6e6686b6d +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/be9637deb767f91f0193d4b0573f954e +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/c0f2a7bdc7a73db8bacf633cef4ec428 +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/c4a0410f3ca8e859238c3b5a24ef0d98 +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/c744c093e347d6c90bc75206f502a48e +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/c7effad0605334daea2929e656094580 +0 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/c8fc1f981896d3bc3650f6dc2cdc3981 +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/cbc61fb8910e489328c2cbf64a73c6ca +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/cc517e4ba5ef452b08d1ab48925b952d +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/d9282682f846f5b479288a298788e6c7 +0 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/dc767a0bb27fb390899cd7e6ff34b310 +0 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/dd041a66875b6a140cf105a32e88980b +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/de1001d906d7f009cc8b325d53aed152 +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/de79a0cce913cf585100d02ad7b13bd2 +0 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/e101b6a9f9eb86d3591c6075a3f59be4 +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/e59e1f3e795e9486fffbc3b4ad0baaca +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/e7296c70ca399cdcc73806b4a9481fde +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/eabe02c282ba47d5bef91a603f0e8ddc +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/edf2dce367a4fbd2628ceef059dab88f +0 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/efbbf60292a32f735cfdcbd98f0a0dcb +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/f1829681b5124c696fef4fd62c36f101 +0 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/f34be083c250d77494ecd0d35fd1099f +0 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/f3c1e7e2d789b88a0b3e967365eefda2 +0 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/f56ceda2003be471c5e7a5ec2e355c9e +0 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/fb5e937723a7579bee0be03b0c5d9052 +0 -0
  114. data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  115. data/test/dummy/tmp/cache/assets/test/sprockets/1cc60160d9e0a352994b8eb6b8313b1a +0 -0
  116. data/test/dummy/tmp/cache/assets/test/sprockets/28cfd59c37a42a9ea808d622b0177c86 +0 -0
  117. data/test/dummy/tmp/cache/assets/test/sprockets/2aeab94961f3936633223fba03e2a6ed +0 -0
  118. data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  119. data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  120. data/test/dummy/tmp/cache/assets/test/sprockets/42927f6bcf2f320e08ea8ff02d5c8209 +0 -0
  121. data/test/dummy/tmp/cache/assets/test/sprockets/53eedf0ac9053fc3d462eabaf534bd05 +0 -0
  122. data/test/dummy/tmp/cache/assets/test/sprockets/580892b79dd41de64c62d07404cd1a12 +0 -0
  123. data/test/dummy/tmp/cache/assets/test/sprockets/5a6cb5cfc573c611e29c2ac98103701f +0 -0
  124. data/test/dummy/tmp/cache/assets/test/sprockets/5f78b3457def1d02bd3fb75d4e0cfb63 +0 -0
  125. data/test/dummy/tmp/cache/assets/test/sprockets/684604af0ae58f9e55f2992fe9c466d7 +0 -0
  126. data/test/dummy/tmp/cache/assets/test/sprockets/6c33e774b86f9ef5ba24ffbe52bed674 +0 -0
  127. data/test/dummy/tmp/cache/assets/test/sprockets/6f78527844795b9b46156d0576fffe63 +0 -0
  128. data/test/dummy/tmp/cache/assets/test/sprockets/74efa8b198344d1b86c6531144584f3e +0 -0
  129. data/test/dummy/tmp/cache/assets/test/sprockets/bb2f6a70a78dd0eb8181c7f495e82f57 +0 -0
  130. data/test/dummy/tmp/cache/assets/test/sprockets/c8fc1f981896d3bc3650f6dc2cdc3981 +0 -0
  131. data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  132. data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  133. data/test/dummy/tmp/cache/assets/test/sprockets/de79a0cce913cf585100d02ad7b13bd2 +0 -0
  134. data/test/dummy/tmp/cache/assets/test/sprockets/f1829681b5124c696fef4fd62c36f101 +0 -0
  135. data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
@@ -1,63 +1,63 @@
1
- require_relative './spec_helper'
2
-
3
- describe 'Clndr event' do
4
- before do
5
- @test = Clndr.new :test
6
- end
7
-
8
- shared_examples 'event' do
9
- it "should receive Date and Title" do
10
- @test.send(method_for_test,*args)
11
- expect(@test.events.length).to eq(1)
12
- end
13
-
14
- it "can receive other_data" do
15
- @test.send(method_for_test,*args,info:'info',msg:'msg',address:'adress')
16
- expect(@test.events.first.has_key?(:info)).to be_truthy
17
- expect(@test.events.first.has_key?(:msg)).to be_truthy
18
- expect(@test.events.first.has_key?(:address)).to be_truthy
19
- end
20
-
21
-
22
- it " should add event to events array" do
23
- @test.send(method_for_test,*args)
24
- @test.send(method_for_test,*args,some_info:'info')
25
- expect(@test.events.length).to eq(2)
26
- end
27
-
28
- it 'should raise exeption when recive wrong data format' do
29
- expect{@test.send(method_for_test,*wrong_args)}.to raise_error(Clndr::Error::WrongDateFormat)
30
- end
31
- end
32
- context 'add event'do
33
- it_should_behave_like 'event' do
34
- let(:method_for_test){:add_event}
35
- let(:args){[Time.now,'Title']}
36
- let(:wrong_args){['wrong date','Title']}
37
- end
38
- end
39
-
40
- context 'add multiday event'do
41
- it_should_behave_like 'event' do
42
- let(:method_for_test){:add_multiday_event}
43
- let(:args){[Time.now,Time.now,'Title']}
44
- let(:wrong_args){['wrong date','wrong date','Title']}
45
- end
46
- end
47
-
48
- context 'build events string' do
49
- it '.build_events should delete elements from events array' do
50
- @test.add_event(Time.now,'test1')
51
- @test.add_event(Time.now,'test2',some_info:'info')
52
- @test.send(:build_events)
53
- expect(@test.events.length).to eq(0)
54
- end
55
-
56
- it 'should contain multiDayEvents if calendar contain multiday event' do
57
- @test.add_multiday_event Time.now, Time.now, 'Title', spme_info:'info'
58
- expect(@test.view).to include('multiDayEvents:')
59
- end
60
-
61
- end
62
-
1
+ require_relative './spec_helper'
2
+
3
+ describe 'Clndr event' do
4
+ before do
5
+ @test = Clndr.new :test
6
+ end
7
+
8
+ shared_examples 'event' do
9
+ it "should receive Date and Title" do
10
+ @test.send(method_for_test,*args)
11
+ expect(@test.events.length).to eq(1)
12
+ end
13
+
14
+ it "can receive other_data" do
15
+ @test.send(method_for_test,*args,info:'info',msg:'msg',address:'adress')
16
+ expect(@test.events.first.has_key?(:info)).to be_truthy
17
+ expect(@test.events.first.has_key?(:msg)).to be_truthy
18
+ expect(@test.events.first.has_key?(:address)).to be_truthy
19
+ end
20
+
21
+
22
+ it " should add event to events array" do
23
+ @test.send(method_for_test,*args)
24
+ @test.send(method_for_test,*args,some_info:'info')
25
+ expect(@test.events.length).to eq(2)
26
+ end
27
+
28
+ it 'should raise exeption when recive wrong data format' do
29
+ expect{@test.send(method_for_test,*wrong_args)}.to raise_error(Clndr::Error::WrongDateFormat)
30
+ end
31
+ end
32
+ context 'add event'do
33
+ it_should_behave_like 'event' do
34
+ let(:method_for_test){:add_event}
35
+ let(:args){[Time.now,'Title']}
36
+ let(:wrong_args){['wrong date','Title']}
37
+ end
38
+ end
39
+
40
+ context 'add multiday event'do
41
+ it_should_behave_like 'event' do
42
+ let(:method_for_test){:add_multiday_event}
43
+ let(:args){[Time.now,Time.now,'Title']}
44
+ let(:wrong_args){['wrong date','wrong date','Title']}
45
+ end
46
+ end
47
+
48
+ context 'build events string' do
49
+ it '.build_events should delete elements from events array' do
50
+ @test.add_event(Time.now,'test1')
51
+ @test.add_event(Time.now,'test2',some_info:'info')
52
+ @test.send(:build_events)
53
+ expect(@test.events.length).to eq(0)
54
+ end
55
+
56
+ it 'should contain multiDayEvents if calendar contain multiday event' do
57
+ @test.add_multiday_event Time.now, Time.now, 'Title', spme_info:'info'
58
+ expect(@test.view).to include('multiDayEvents:')
59
+ end
60
+
61
+ end
62
+
63
63
  end
@@ -1,200 +1,200 @@
1
- require_relative './spec_helper'
2
-
3
- describe 'Clndr generate html' do
4
- before do
5
- Clndr.default_settings
6
- @test = Clndr.new(:test)
7
- end
8
-
9
- it 'by .view method' do
10
- expect(@test.view).to include('id="test-clndr"')
11
- end
12
-
13
- it 'by .view method with html_options' do
14
- expect(@test.view(id:'some-test-id')).to include('some-test-id')
15
- expect(@test.view(id:'some-test-id', class:'some-test-class')).to include('some-test-class')
16
- end
17
-
18
- it 'by show_calendar method' do
19
- expect(show_calendar(:test)).to eq(@test.view)
20
- end
21
-
22
- it 'by show_calendar with html_options' do
23
- expect(show_calendar(:test,id:'some-test-id',class:'some-test-class')).to eq(@test.view(id:'some-test-id',class:'some-test-class'))
24
- end
25
-
26
- context 'with clndr option' do
27
- shared_examples 'valid generator' do
28
-
29
- it 'return nothing if parametr is default' do
30
- expect(@test.view).not_to include("#{parameter}:")
31
- end
32
-
33
- it 'return valid parametr' do
34
- @test.send(option,value)
35
- expect(@test.view).to include("#{parameter}:#{valid_value}")
36
- end
37
-
38
- end
39
-
40
- context 'template' do
41
- it_should_behave_like 'valid generator' do
42
- let(:option){ :template=}
43
- let(:value){Clndr::Template::SIMPLE}
44
- let(:valid_value){value}
45
- let(:parameter){'template'}
46
- end
47
- end
48
-
49
- context 'days_of_the_week' do
50
- it_should_behave_like 'valid generator' do
51
- let(:option){ :days_of_the_week=}
52
- let(:value){['x']*6}
53
- let(:valid_value){value}
54
- let(:parameter){'daysOfTheWeek'}
55
- end
56
- end
57
-
58
- context 'show_adjacent_months' do
59
- it_should_behave_like 'valid generator' do
60
- let(:option){ :show_adjacent_months=}
61
- let(:value){false}
62
- let(:valid_value){value}
63
- let(:parameter){'showAdjacentMonths'}
64
- end
65
- end
66
-
67
- context 'adjacent_days_change_month' do
68
- it_should_behave_like 'valid generator' do
69
- let(:option){ :adjacent_days_change_month=}
70
- let(:value){Time.now}
71
- let(:valid_value){value}
72
- let(:parameter){'adjacentDaysChangeMonth'}
73
- end
74
- end
75
-
76
- context 'done_rendering' do
77
- it_should_behave_like 'valid generator' do
78
- let(:option){ :done_rendering=}
79
- let(:value){'jsfunc(){}'}
80
- let(:valid_value){value}
81
- let(:parameter){'doneRendering'}
82
- end
83
- end
84
-
85
- context 'constraints_end' do
86
- it_should_behave_like 'valid generator' do
87
- let(:option){ :constraints_end=}
88
- let(:value){Time.now}
89
- let(:valid_value){" {endDate:'#{Time.now.strftime('%F')}'"}
90
- let(:parameter){'constraints'}
91
- end
92
- end
93
-
94
- context 'custom class' do
95
- it_should_behave_like 'valid generator' do
96
- let(:option){ :custom_last_month_class=}
97
- let(:value){'my-custom-class'}
98
- let(:valid_value){" {lastMonth:'#{value}',}"}
99
- let(:parameter){'classes'}
100
- end
101
- end
102
-
103
- context 'click_events' do
104
- it 'return nothing if parametr is default' do
105
- expect(@test.view).not_to include('clickEvent')
106
- end
107
-
108
- it 'return valid parametr' do
109
- @test.click_event[:click]='some_js(){}'
110
- expect(@test.view).to include('clickEvents: {click:some_js(){},}')
111
- end
112
- end
113
-
114
- context 'targets' do
115
- it 'return nothing if parametr is default' do
116
- expect(@test.view).not_to include('targets')
117
- end
118
-
119
- it 'return valid parametr' do
120
- @test.target[:nextButton]='.class'
121
- expect(@test.view).to include("targets: {nextButton:'.class'")
122
- end
123
- end
124
-
125
- context 'force_six_rows' do
126
- it 'return true if parametr is default' do
127
- expect(@test.view).to include('forceSixRows:true')
128
- end
129
-
130
- it 'return nothing if false' do
131
- @test.force_six_rows= false
132
- expect(@test.view).not_to include('forceSixRows:')
133
- end
134
- end
135
-
136
- context 'week_offset' do
137
- it 'return 1 if parametr is default' do
138
- expect(@test.view).to include('weekOffset:1')
139
- end
140
-
141
- it 'return nothing if 0' do
142
- @test.week_offset = false
143
- expect(@test.view).not_to include('weekOffset:0')
144
- end
145
- end
146
-
147
- context 'event' do
148
- it 'should havent events if events not add' do
149
- expect(@test.view).not_to include('events:')
150
- end
151
- end
152
- end
153
-
154
- context 'Link helpers' do
155
- before :all do
156
- Clndr.new :helpers
157
- end
158
- shared_examples 'navigate link' do
159
- it 'genearete link' do
160
- expect(self.send(link_type,:helpers,link_type.to_s)).to include("helpers.#{js}")
161
- end
162
- it 'generate link with some html_options' do
163
- expect(self.send(link_type,:helpers,link_type.to_s,style:'color:red;')).to include('style="color:red;"')
164
- end
165
-
166
- it 'generate link with available CLNDR callbacks' do
167
- expect(self.send(link_type,:helpers,link_type.to_s){true}).to include("withCallbacks: true")
168
- end
169
- end
170
-
171
- context 'next_month_link' do
172
- it_should_behave_like 'navigate link' do
173
- let(:link_type){:next_month_link}
174
- let(:js){'forward'}
175
- end
176
- end
177
-
178
- context 'previous_month_link' do
179
- it_should_behave_like 'navigate link' do
180
- let(:link_type){:previous_month_link}
181
- let(:js){'back'}
182
- end
183
- end
184
-
185
- context 'next_year_link' do
186
- it_should_behave_like 'navigate link' do
187
- let(:link_type){:next_year_link}
188
- let(:js){'nextYear'}
189
- end
190
- end
191
-
192
- context 'previous_year_link' do
193
- it_should_behave_like 'navigate link' do
194
- let(:link_type){:previous_year_link}
195
- let(:js){'previousYear'}
196
- end
197
- end
198
- end
199
-
1
+ require_relative './spec_helper'
2
+
3
+ describe 'Clndr generate html' do
4
+ before do
5
+ Clndr.default_settings
6
+ @test = Clndr.new(:test)
7
+ end
8
+
9
+ it 'by .view method' do
10
+ expect(@test.view).to include('id="test-clndr"')
11
+ end
12
+
13
+ it 'by .view method with html_options' do
14
+ expect(@test.view(id:'some-test-id')).to include('some-test-id')
15
+ expect(@test.view(id:'some-test-id', class:'some-test-class')).to include('some-test-class')
16
+ end
17
+
18
+ it 'by show_calendar method' do
19
+ expect(show_calendar(:test)).to eq(@test.view)
20
+ end
21
+
22
+ it 'by show_calendar with html_options' do
23
+ expect(show_calendar(:test,id:'some-test-id',class:'some-test-class')).to eq(@test.view(id:'some-test-id',class:'some-test-class'))
24
+ end
25
+
26
+ context 'with clndr option' do
27
+ shared_examples 'valid generator' do
28
+
29
+ it 'return nothing if parametr is default' do
30
+ expect(@test.view).not_to include("#{parameter}:")
31
+ end
32
+
33
+ it 'return valid parametr' do
34
+ @test.send(option,value)
35
+ expect(@test.view).to include("#{parameter}:#{valid_value}")
36
+ end
37
+
38
+ end
39
+
40
+ context 'template' do
41
+ it_should_behave_like 'valid generator' do
42
+ let(:option){ :template=}
43
+ let(:value){Clndr::Template::SIMPLE}
44
+ let(:valid_value){value}
45
+ let(:parameter){'template'}
46
+ end
47
+ end
48
+
49
+ context 'days_of_the_week' do
50
+ it_should_behave_like 'valid generator' do
51
+ let(:option){ :days_of_the_week=}
52
+ let(:value){['x']*6}
53
+ let(:valid_value){value}
54
+ let(:parameter){'daysOfTheWeek'}
55
+ end
56
+ end
57
+
58
+ context 'show_adjacent_months' do
59
+ it_should_behave_like 'valid generator' do
60
+ let(:option){ :show_adjacent_months=}
61
+ let(:value){false}
62
+ let(:valid_value){value}
63
+ let(:parameter){'showAdjacentMonths'}
64
+ end
65
+ end
66
+
67
+ context 'adjacent_days_change_month' do
68
+ it_should_behave_like 'valid generator' do
69
+ let(:option){ :adjacent_days_change_month=}
70
+ let(:value){Time.now}
71
+ let(:valid_value){value}
72
+ let(:parameter){'adjacentDaysChangeMonth'}
73
+ end
74
+ end
75
+
76
+ context 'done_rendering' do
77
+ it_should_behave_like 'valid generator' do
78
+ let(:option){ :done_rendering=}
79
+ let(:value){'jsfunc(){}'}
80
+ let(:valid_value){value}
81
+ let(:parameter){'doneRendering'}
82
+ end
83
+ end
84
+
85
+ context 'constraints_end' do
86
+ it_should_behave_like 'valid generator' do
87
+ let(:option){ :constraints_end=}
88
+ let(:value){Time.now}
89
+ let(:valid_value){" {endDate:'#{Time.now.strftime('%F')}'"}
90
+ let(:parameter){'constraints'}
91
+ end
92
+ end
93
+
94
+ context 'custom class' do
95
+ it_should_behave_like 'valid generator' do
96
+ let(:option){ :custom_last_month_class=}
97
+ let(:value){'my-custom-class'}
98
+ let(:valid_value){" {lastMonth:'#{value}',}"}
99
+ let(:parameter){'classes'}
100
+ end
101
+ end
102
+
103
+ context 'click_events' do
104
+ it 'return nothing if parametr is default' do
105
+ expect(@test.view).not_to include('clickEvent')
106
+ end
107
+
108
+ it 'return valid parametr' do
109
+ @test.click_event[:click]='some_js(){}'
110
+ expect(@test.view).to include('clickEvents: {click:some_js(){},}')
111
+ end
112
+ end
113
+
114
+ context 'targets' do
115
+ it 'return nothing if parametr is default' do
116
+ expect(@test.view).not_to include('targets')
117
+ end
118
+
119
+ it 'return valid parametr' do
120
+ @test.target[:nextButton]='.class'
121
+ expect(@test.view).to include("targets: {nextButton:'.class'")
122
+ end
123
+ end
124
+
125
+ context 'force_six_rows' do
126
+ it 'return true if parametr is default' do
127
+ expect(@test.view).to include('forceSixRows:true')
128
+ end
129
+
130
+ it 'return nothing if false' do
131
+ @test.force_six_rows= false
132
+ expect(@test.view).not_to include('forceSixRows:')
133
+ end
134
+ end
135
+
136
+ context 'week_offset' do
137
+ it 'return 1 if parametr is default' do
138
+ expect(@test.view).to include('weekOffset:1')
139
+ end
140
+
141
+ it 'return nothing if 0' do
142
+ @test.week_offset = false
143
+ expect(@test.view).not_to include('weekOffset:0')
144
+ end
145
+ end
146
+
147
+ context 'event' do
148
+ it 'should havent events if events not add' do
149
+ expect(@test.view).not_to include('events:')
150
+ end
151
+ end
152
+ end
153
+
154
+ context 'Link helpers' do
155
+ before :all do
156
+ Clndr.new :helpers
157
+ end
158
+ shared_examples 'navigate link' do
159
+ it 'genearete link' do
160
+ expect(self.send(link_type,:helpers,link_type.to_s)).to include("helpers.#{js}")
161
+ end
162
+ it 'generate link with some html_options' do
163
+ expect(self.send(link_type,:helpers,link_type.to_s,style:'color:red;')).to include('style="color:red;"')
164
+ end
165
+
166
+ it 'generate link with available CLNDR callbacks' do
167
+ expect(self.send(link_type,:helpers,link_type.to_s){true}).to include("withCallbacks: true")
168
+ end
169
+ end
170
+
171
+ context 'next_month_link' do
172
+ it_should_behave_like 'navigate link' do
173
+ let(:link_type){:next_month_link}
174
+ let(:js){'forward'}
175
+ end
176
+ end
177
+
178
+ context 'previous_month_link' do
179
+ it_should_behave_like 'navigate link' do
180
+ let(:link_type){:previous_month_link}
181
+ let(:js){'back'}
182
+ end
183
+ end
184
+
185
+ context 'next_year_link' do
186
+ it_should_behave_like 'navigate link' do
187
+ let(:link_type){:next_year_link}
188
+ let(:js){'nextYear'}
189
+ end
190
+ end
191
+
192
+ context 'previous_year_link' do
193
+ it_should_behave_like 'navigate link' do
194
+ let(:link_type){:previous_year_link}
195
+ let(:js){'previousYear'}
196
+ end
197
+ end
198
+ end
199
+
200
200
  end