bootstrap-honoka-rails 4.0.0.2 → 4.0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +21 -16
- data/Rakefile +38 -16
- data/lib/bootstrap/honoka/rails/engine.rb +1 -3
- data/lib/bootstrap/honoka/rails/version.rb +1 -1
- data/lib/bootstrap/honoka/rails.rb +6 -0
- data/test/dummy/app/controllers/pages_controller.rb +4 -6
- data/test/dummy/app/views/layouts/application.html.erb +1 -1
- data/test/dummy/app/views/pages/honoka.html.erb +37 -142
- data/test/dummy/app/views/pages/nico.html.erb +3 -1
- data/test/dummy/app/views/pages/umi.html.erb +3 -1
- data/test/dummy/config/application.rb +1 -5
- data/test/dummy/config/routes.rb +3 -3
- data/test/dummy/public/favicon.ico +0 -0
- data/test/honoka_test.rb +38 -4
- data/test/support/dummy_integration.rb +57 -0
- data/test/support/dummy_reporters.rb +61 -0
- data/test/test_helper.rb +49 -5
- metadata +66 -10
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/dummy/config/initializers/mime_types.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5bf84731b53acb5258623aa79851862bf7598ec3053bfb66d791d47697ff31ba
|
4
|
+
data.tar.gz: 3be633c0a43c8bf26bca2ce81de22e7cecd1c4ec26211ea0c8004cdcef310815
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ab8cd1e8afc82f00ebe27aedfe415c2f354c954b70aff1dbc3e59003e49124a91ad4db87b3553d75008def5e4c8e769b165b0040ebe5b6fe94c6df5d3023ee3
|
7
|
+
data.tar.gz: 5aea46b728ea79075695bff5aabe38f758cad3e45bb624bd2c7419f64fa8767ec1e789871706f9f1fef4588caf2fc82b4e896c93597860164a020a7d9a590d92
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Bootstrap-Honoka-Rails
|
2
2
|
|
3
3
|
[Honoka](https://github.com/windyakin/Honoka) is a Bootstrap theme that can display Japanese beautifully.
|
4
|
-
bootstrap-honoka-rails can easily install [Honoka](https://github.com/windyakin/Honoka),[Umi](https://ysakasin.github.io/Umi/) , [Nico](https://nico.kubosho.com/) and [Rin](https://rinhoshizo.la/) on Rails.
|
4
|
+
bootstrap-honoka-rails can easily install [Honoka](https://github.com/windyakin/Honoka), [Umi](https://ysakasin.github.io/Umi/) , [Nico](https://nico.kubosho.com/) and [Rin](https://rinhoshizo.la/) on Rails.
|
5
5
|
|
6
6
|
[Honoka](https://github.com/windyakin/Honoka) は日本語も美しく表示できる Bootstrap テーマです。
|
7
7
|
bootstrap-honoka-rails は [Honoka](https://github.com/windyakin/Honoka) や [Umi](https://ysakasin.github.io/Umi/) や [Nico](https://nico.kubosho.com/) や [Rin](https://rinhoshizo.la/) を Rails 上に簡単にインストールできます。
|
@@ -34,7 +34,9 @@ gem 'bootstrap-honoka-rails' , '~>4.3.1' # or '~> 3.3.7'
|
|
34
34
|
Add to application.css `*= require _honoka` <br>
|
35
35
|
For bootstrap ver3 you need `*= _bootstrap-sprockets`.
|
36
36
|
|
37
|
-
|
37
|
+
app/assets/stylesheets/application.css
|
38
|
+
|
39
|
+
```css
|
38
40
|
/*
|
39
41
|
*= require _bootstrap-sprockets # Add line ※ v3 only
|
40
42
|
*= require _honoka # Add line
|
@@ -44,10 +46,11 @@ For bootstrap ver3 you need `*= _bootstrap-sprockets`.
|
|
44
46
|
|
45
47
|
and add to application.js <br>
|
46
48
|
`//= require popper` (bootstrap ver4 later), <br>
|
47
|
-
`//= require bootstrap-sprockets`
|
48
|
-
|
49
|
+
`//= require bootstrap-sprockets`
|
50
|
+
|
51
|
+
app/assets/javascripts/application.js
|
49
52
|
|
50
|
-
```js
|
53
|
+
```js
|
51
54
|
//= require jquery2
|
52
55
|
//= require rails-ujs
|
53
56
|
//= require activestorage
|
@@ -66,28 +69,30 @@ Please check [here](https://github.com/twbs/bootstrap-sass/issues/714) for more
|
|
66
69
|
とりあえずインストール後、上記を application.css と application.js に追加すれば OK です。<br>
|
67
70
|
注意点として `bootstrap-sprockets` を読み込むと思いますが、その場合 `bootstrap.min` は読み込む必要がありません。<br>
|
68
71
|
何故なら Dropdown が正しく動作しない可能性があります。 <br>
|
69
|
-
詳細は[こちら](https://github.com/twbs/bootstrap-sass/issues/714)
|
72
|
+
詳細は[こちら](https://github.com/twbs/bootstrap-sass/issues/714)をご確認ください。<br>
|
70
73
|
※production 環境で動作することを確認済み。 サンプルアプリは 'test/dummy' ディレクトリ内 にあります。
|
71
74
|
|
72
75
|
---
|
73
76
|
|
74
77
|
Certain [versions](VERSIONS.md) also support Nico , Umi and Rin.
|
75
78
|
|
76
|
-
|
79
|
+
app/assets/stylesheets/application.css
|
80
|
+
|
81
|
+
```css
|
77
82
|
*= require _umi # Add line
|
78
83
|
*= require_self
|
79
84
|
```
|
80
85
|
|
81
86
|
or
|
82
87
|
|
83
|
-
```css
|
88
|
+
```css
|
84
89
|
*= require _nico # Add line
|
85
90
|
*= require_self
|
86
91
|
```
|
87
92
|
|
88
93
|
or
|
89
94
|
|
90
|
-
```css
|
95
|
+
```css
|
91
96
|
*= require _rin # Add line
|
92
97
|
*= require_self
|
93
98
|
```
|
@@ -95,7 +100,7 @@ or
|
|
95
100
|
Please check [VERSIONS.md](VERSIONS.md) for Honoka Nico Umi Rin compatible Ver.
|
96
101
|
|
97
102
|
[日本語訳][特定のバージョン](VERSIONS.md)では "Nico"と "Umi" と "Rin" も対応しています。
|
98
|
-
`_honoka` の代わりに `*= require _nico` と書けば Nico になりますし、 `_umi` と書けば Umi デザインになります。
|
103
|
+
`_honoka` の代わりに `*= require _nico` と書けば Nico になりますし、 `_umi` と書けば Umi デザインになります。 <br>
|
99
104
|
Rin も Ver によっては `_rin` と書けば対応出来ます。<br>
|
100
105
|
Honoka Nico Umi Rin の対応 Ver は[VERSIONS.md](VERSIONS.md)をご確認ください。
|
101
106
|
|
@@ -110,11 +115,11 @@ bootstrap-honoka-rails は bootstrap 又は bootstrap-sass を内部的に使っ
|
|
110
115
|
|
111
116
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
112
117
|
|
113
|
-
##
|
118
|
+
## Supported bootstrap themes
|
114
119
|
|
115
|
-
#### [Honoka](
|
120
|
+
#### [Honoka](http://honokak.osaka/)
|
116
121
|
|
117
|
-
Source
|
122
|
+
Source URL ... [https://github.com/windyakin/Honoka](https://github.com/windyakin/Honoka)
|
118
123
|
|
119
124
|
> The MIT License (MIT)
|
120
125
|
>
|
@@ -124,7 +129,7 @@ Source Url ... [https://github.com/windyakin/Honoka](https://github.com/windyaki
|
|
124
129
|
|
125
130
|
#### [Umi](https://ysakasin.github.io/Umi/)
|
126
131
|
|
127
|
-
Source
|
132
|
+
Source URL ... [https://github.com/ysakasin/Umi](https://github.com/ysakasin/Umi)
|
128
133
|
|
129
134
|
> The MIT License (MIT)
|
130
135
|
>
|
@@ -134,7 +139,7 @@ Source Url ... [https://github.com/ysakasin/Umi](https://github.com/ysakasin/Umi
|
|
134
139
|
|
135
140
|
#### [Nico](https://nico.kubosho.com/)
|
136
141
|
|
137
|
-
Source
|
142
|
+
Source URL ... [https://github.com/kubosho/Nico](https://github.com/kubosho/Nico)
|
138
143
|
|
139
144
|
> The MIT License (MIT)
|
140
145
|
>
|
@@ -144,7 +149,7 @@ Source Url ... [https://github.com/kubosho/Nico](https://github.com/kubosho/Nico
|
|
144
149
|
|
145
150
|
#### [Rin](https://rinhoshizo.la/)
|
146
151
|
|
147
|
-
Source
|
152
|
+
Source URL ... [https://github.com/raryosu/Rin](https://github.com/raryosu/Rin)
|
148
153
|
|
149
154
|
> The MIT License (MIT)
|
150
155
|
>
|
data/Rakefile
CHANGED
@@ -1,33 +1,55 @@
|
|
1
1
|
begin
|
2
|
+
# bundlerでインストールしたgemをrequireで読み取り可能とする。
|
2
3
|
require 'bundler/setup'
|
3
4
|
rescue LoadError
|
4
5
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
6
|
end
|
6
7
|
|
7
|
-
|
8
|
+
# requires
|
9
|
+
require 'bundler/gem_tasks' # build, clobber, release などのコマンドを使用可能とする。
|
10
|
+
require 'rdoc/task' # RDoc::Taskクラスのrequireを行う。
|
11
|
+
require 'rake/testtask' # Rake::TestTaskクラスのrequireを行う。
|
12
|
+
require 'rake/file_utils_ext' # rake用file_utilsの拡張
|
8
13
|
|
14
|
+
# rdoc, clobber_rdoc コマンド定義
|
9
15
|
RDoc::Task.new(:rdoc) do |rdoc|
|
10
16
|
rdoc.rdoc_dir = 'rdoc'
|
11
17
|
rdoc.title = 'Bootstrap::Honoka::Rails'
|
12
18
|
rdoc.options << '--line-numbers'
|
13
|
-
rdoc.rdoc_files.include('README.md')
|
14
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
19
|
+
rdoc.rdoc_files.include('README.md', 'VERSIONS.md', 'lib/**/*.rb')
|
15
20
|
end
|
16
21
|
|
17
|
-
|
18
|
-
load 'rails/tasks/engine.rake'
|
19
|
-
|
20
|
-
load 'rails/tasks/statistics.rake'
|
21
|
-
|
22
|
-
require 'bundler/gem_tasks'
|
23
|
-
|
24
|
-
require 'rake/testtask'
|
25
|
-
|
22
|
+
# test コマンド定義
|
26
23
|
Rake::TestTask.new(:test) do |t|
|
27
|
-
t.libs << 'test'
|
28
|
-
t.pattern = 'test/**/*_test.rb'
|
29
|
-
t.verbose = false
|
30
|
-
t.warning = false
|
24
|
+
t.libs << 'test' # require pathの追加
|
25
|
+
t.pattern = 'test/**/*_test.rb' # 実行するテストコマンド
|
26
|
+
t.verbose = false # 詳細なテキストを非表示化
|
27
|
+
t.warning = false # 警告を非表示
|
31
28
|
end
|
32
29
|
|
30
|
+
# test clobberコマンド定義
|
31
|
+
desc 'Remove files generated during test'
|
32
|
+
task :clobber_test do
|
33
|
+
# 下記 rm_rf を使用するとbegin rescueで囲む必要もないが、
|
34
|
+
# あえて rm_r を使用している理由は下記の通り。
|
35
|
+
#
|
36
|
+
# - 本処理は主にシステムのデフォルトで用意されているrdocに倣っている。
|
37
|
+
# ※rdocの削除処理に対して [secure属性] だけは追加している。
|
38
|
+
# - rdocの削除である `rake clobber_rdoc` コマンドを使用すると
|
39
|
+
# ::Rake::Fileutils::rm_r が使用されている。
|
40
|
+
# - その rm_r コマンドでは `rm_r @rdoc_dir rescue nil` というように
|
41
|
+
# no such file or directoryエラーが発生する事も考慮して、
|
42
|
+
# rescueを行う処理となっていた。
|
43
|
+
#
|
44
|
+
# 以上の事から、rm_rf ではなく rm_r を使用している。
|
45
|
+
begin
|
46
|
+
::Rake::FileUtilsExt.rm_r('tmp', secure: true)
|
47
|
+
rescue StandardError
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# clobberコマンドで clobber_testが動作するようにする。
|
52
|
+
task clobber: [:clobber_test]
|
53
|
+
|
54
|
+
# test コマンドをrakeのデフォルト動作とする。
|
33
55
|
task default: :test
|
@@ -13,9 +13,7 @@ module Bootstrap
|
|
13
13
|
|
14
14
|
# initializer
|
15
15
|
initializer 'bootstrap-honoka-rails.assets' do |app|
|
16
|
-
|
17
|
-
app.config.assets.paths << root.join('assets', sub).to_s
|
18
|
-
end
|
16
|
+
app.config.assets.paths << root.join('assets', 'stylesheets').to_s
|
19
17
|
end
|
20
18
|
end
|
21
19
|
end
|
@@ -3,6 +3,12 @@ require 'bootstrap/honoka/rails/engine'
|
|
3
3
|
module Bootstrap
|
4
4
|
module Honoka
|
5
5
|
module Rails
|
6
|
+
class << self
|
7
|
+
def stylesheets
|
8
|
+
Dir.glob("#{File.join(File.expand_path('../../..', __dir__), 'assets', 'stylesheets')}/*.scss")
|
9
|
+
.map { |f| f.match(%r{.+/_([^/]+?)\.scss})[1] }
|
10
|
+
end
|
11
|
+
end
|
6
12
|
end
|
7
13
|
end
|
8
14
|
end
|
@@ -447,7 +447,8 @@
|
|
447
447
|
<div class="bs-component">
|
448
448
|
<h2>本文サンプル</h2>
|
449
449
|
<p>グスコーブドリは、<a
|
450
|
-
href="#">イーハトーヴ</a
|
450
|
+
href="#">イーハトーヴ</a>の大きな森のなかに生まれました。おとうさんは、グスコーナドリという名高い木こりで、どんな大きな木でも、まるで赤ん坊を寝かしつけるようにわけなく切ってしまう人でした。
|
451
|
+
</p>
|
451
452
|
<p><small>テキストのこの行は、細字として扱われることを意味します。</small></p>
|
452
453
|
<p>テキストの次のコードは、<strong>太字のテキストとしてレンダリングされます</strong>。</p>
|
453
454
|
<p>テキストの次のコードは、 <em>斜体のテキストとしてレンダリングされます</em>。</p>
|
@@ -483,8 +484,8 @@
|
|
483
484
|
<p class="mb-0">
|
484
485
|
BootstrapはWebサイトやWebアプリケーションを作成するフリーソフトウェアツール集である。タイポグラフィ、フォーム、ボタン、ナビゲーション、その他構成要素やJavaScript用拡張などがHTML及びCSSベースのデザインテンプレートとして用意されている。
|
485
486
|
</p>
|
486
|
-
<footer class="blockquote-footer">出典 <cite title="Bootstrap - Wikipedia">Bootstrap -
|
487
|
-
|
487
|
+
<footer class="blockquote-footer">出典 <cite title="Bootstrap - Wikipedia">Bootstrap -
|
488
|
+
Wikipedia</cite></footer>
|
488
489
|
</blockquote>
|
489
490
|
</div>
|
490
491
|
</div>
|
@@ -494,8 +495,8 @@
|
|
494
495
|
<p class="mb-0">
|
495
496
|
BootstrapはWebサイトやWebアプリケーションを作成するフリーソフトウェアツール集である。タイポグラフィ、フォーム、ボタン、ナビゲーション、その他構成要素やJavaScript用拡張などがHTML及びCSSベースのデザインテンプレートとして用意されている。
|
496
497
|
</p>
|
497
|
-
<footer class="blockquote-footer">出典 <cite title="Bootstrap - Wikipedia">Bootstrap -
|
498
|
-
|
498
|
+
<footer class="blockquote-footer">出典 <cite title="Bootstrap - Wikipedia">Bootstrap -
|
499
|
+
Wikipedia</cite></footer>
|
499
500
|
</blockquote>
|
500
501
|
</div>
|
501
502
|
</div>
|
@@ -505,8 +506,8 @@
|
|
505
506
|
<p class="mb-0">
|
506
507
|
BootstrapはWebサイトやWebアプリケーションを作成するフリーソフトウェアツール集である。タイポグラフィ、フォーム、ボタン、ナビゲーション、その他構成要素やJavaScript用拡張などがHTML及びCSSベースのデザインテンプレートとして用意されている。
|
507
508
|
</p>
|
508
|
-
<footer class="blockquote-footer">出典 <cite title="Bootstrap - Wikipedia">Bootstrap -
|
509
|
-
|
509
|
+
<footer class="blockquote-footer">出典 <cite title="Bootstrap - Wikipedia">Bootstrap -
|
510
|
+
Wikipedia</cite></footer>
|
510
511
|
</blockquote>
|
511
512
|
</div>
|
512
513
|
</div>
|
@@ -803,16 +804,6 @@
|
|
803
804
|
<label class="custom-control-label" for="customCheck2">選択できない選択肢</label>
|
804
805
|
</div>
|
805
806
|
</div>
|
806
|
-
<div class="form-group">
|
807
|
-
<div class="custom-control custom-switch">
|
808
|
-
<input type="checkbox" class="custom-control-input" id="customSwitch1" checked="">
|
809
|
-
<label class="custom-control-label" for="customSwitch1">トグルスイッチ</label>
|
810
|
-
</div>
|
811
|
-
<div class="custom-control custom-switch">
|
812
|
-
<input type="checkbox" class="custom-control-input" disabled="" id="customSwitch2">
|
813
|
-
<label class="custom-control-label" for="customSwitch2">選択できないトグルスイッチ</label>
|
814
|
-
</div>
|
815
|
-
</div>
|
816
807
|
<div class="form-group">
|
817
808
|
<select class="custom-select">
|
818
809
|
<option selected>選択してください</option>
|
@@ -822,15 +813,10 @@
|
|
822
813
|
</select>
|
823
814
|
</div>
|
824
815
|
<div class="form-group">
|
825
|
-
<
|
826
|
-
<
|
827
|
-
|
828
|
-
|
829
|
-
</div>
|
830
|
-
<div class="input-group-append">
|
831
|
-
<span class="input-group-text" id="">アップロード</span>
|
832
|
-
</div>
|
833
|
-
</div>
|
816
|
+
<label class="custom-file">
|
817
|
+
<input type="file" id="file2" class="custom-file-input">
|
818
|
+
<span class="custom-file-control"></span>
|
819
|
+
</label>
|
834
820
|
</div>
|
835
821
|
</fieldset>
|
836
822
|
</div>
|
@@ -889,12 +875,12 @@
|
|
889
875
|
</p>
|
890
876
|
</div>
|
891
877
|
<div class="tab-pane fade" id="dropdown1">
|
892
|
-
<p>雨ニモマケズ 風ニモマケズ 雪ニモ夏ノ暑サニモマケヌ 丈夫ナカラダヲモチ 慾ハナク 決シテ瞋ラズ イツモシズカニワラッテイル 一日ニ玄米四合ト 味噌ト少シノ野菜ヲタベ
|
893
|
-
ジブンヲカンジョウニ入レズニ ヨクミキキシワカリ ソシテワスレズ</p>
|
878
|
+
<p>雨ニモマケズ 風ニモマケズ 雪ニモ夏ノ暑サニモマケヌ 丈夫ナカラダヲモチ 慾ハナク 決シテ瞋ラズ イツモシズカニワラッテイル 一日ニ玄米四合ト 味噌ト少シノ野菜ヲタベ
|
879
|
+
アラユルコトヲ ジブンヲカンジョウニ入レズニ ヨクミキキシワカリ ソシテワスレズ</p>
|
894
880
|
</div>
|
895
881
|
<div class="tab-pane fade" id="dropdown2">
|
896
|
-
<p>わたくしといふ現象は 假定された有機交流電燈の ひとつの青い照明です (あらゆる透明な幽霊の複合体) 風景やみんなといっしょに せはしくせはしく明滅しながら
|
897
|
-
ひとつの青い照明です (ひかりはたもち、その電燈は失はれ)</p>
|
882
|
+
<p>わたくしといふ現象は 假定された有機交流電燈の ひとつの青い照明です (あらゆる透明な幽霊の複合体) 風景やみんなといっしょに せはしくせはしく明滅しながら
|
883
|
+
いかにもたしかにともりつづける 因果交流電燈の ひとつの青い照明です (ひかりはたもち、その電燈は失はれ)</p>
|
898
884
|
</div>
|
899
885
|
<div class="tab-pane fade" id="dropdown3">
|
900
886
|
<p>
|
@@ -1234,87 +1220,6 @@
|
|
1234
1220
|
</div>
|
1235
1221
|
</section>
|
1236
1222
|
|
1237
|
-
<!-- Spinners
|
1238
|
-
================================================== -->
|
1239
|
-
<section class="bs-docs-section">
|
1240
|
-
|
1241
|
-
<div class="row">
|
1242
|
-
<div class="col-lg-12">
|
1243
|
-
<div class="page-header">
|
1244
|
-
<h1 id="spinners">Spinners</h1>
|
1245
|
-
</div>
|
1246
|
-
</div>
|
1247
|
-
</div>
|
1248
|
-
|
1249
|
-
<div class="row">
|
1250
|
-
<div class="col-md-6 ">
|
1251
|
-
<h3 id="spinners-border">Border Spinners</h3>
|
1252
|
-
<div class="bs-component d-flex justify-content-around">
|
1253
|
-
<div class="spinner-border" role="status">
|
1254
|
-
<span class="sr-only">Loading...</span>
|
1255
|
-
</div>
|
1256
|
-
<div class="spinner-border text-primary" role="status">
|
1257
|
-
<span class="sr-only">Loading...</span>
|
1258
|
-
</div>
|
1259
|
-
<div class="spinner-border text-secondary" role="status">
|
1260
|
-
<span class="sr-only">Loading...</span>
|
1261
|
-
</div>
|
1262
|
-
<div class="spinner-border text-success" role="status">
|
1263
|
-
<span class="sr-only">Loading...</span>
|
1264
|
-
</div>
|
1265
|
-
<div class="spinner-border text-danger" role="status">
|
1266
|
-
<span class="sr-only">Loading...</span>
|
1267
|
-
</div>
|
1268
|
-
<div class="spinner-border text-warning" role="status">
|
1269
|
-
<span class="sr-only">Loading...</span>
|
1270
|
-
</div>
|
1271
|
-
<div class="spinner-border text-info" role="status">
|
1272
|
-
<span class="sr-only">Loading...</span>
|
1273
|
-
</div>
|
1274
|
-
<div class="spinner-border text-light" role="status">
|
1275
|
-
<span class="sr-only">Loading...</span>
|
1276
|
-
</div>
|
1277
|
-
<div class="spinner-border text-dark" role="status">
|
1278
|
-
<span class="sr-only">Loading...</span>
|
1279
|
-
</div>
|
1280
|
-
</div>
|
1281
|
-
</div>
|
1282
|
-
|
1283
|
-
<div class="col-md-6">
|
1284
|
-
<h3 id="spinners-growing">Growing spinners</h3>
|
1285
|
-
<div class="bs-component d-flex justify-content-around">
|
1286
|
-
<div class="spinner-grow" role="status">
|
1287
|
-
<span class="sr-only">Loading...</span>
|
1288
|
-
</div>
|
1289
|
-
<div class="spinner-grow text-primary" role="status">
|
1290
|
-
<span class="sr-only">Loading...</span>
|
1291
|
-
</div>
|
1292
|
-
<div class="spinner-grow text-secondary" role="status">
|
1293
|
-
<span class="sr-only">Loading...</span>
|
1294
|
-
</div>
|
1295
|
-
<div class="spinner-grow text-success" role="status">
|
1296
|
-
<span class="sr-only">Loading...</span>
|
1297
|
-
</div>
|
1298
|
-
<div class="spinner-grow text-danger" role="status">
|
1299
|
-
<span class="sr-only">Loading...</span>
|
1300
|
-
</div>
|
1301
|
-
<div class="spinner-grow text-warning" role="status">
|
1302
|
-
<span class="sr-only">Loading...</span>
|
1303
|
-
</div>
|
1304
|
-
<div class="spinner-grow text-info" role="status">
|
1305
|
-
<span class="sr-only">Loading...</span>
|
1306
|
-
</div>
|
1307
|
-
<div class="spinner-grow text-light" role="status">
|
1308
|
-
<span class="sr-only">Loading...</span>
|
1309
|
-
</div>
|
1310
|
-
<div class="spinner-grow text-dark" role="status">
|
1311
|
-
<span class="sr-only">Loading...</span>
|
1312
|
-
</div>
|
1313
|
-
</div>
|
1314
|
-
</div>
|
1315
|
-
</div>
|
1316
|
-
</section>
|
1317
|
-
|
1318
1223
|
<!-- Containers
|
1319
1224
|
================================================== -->
|
1320
1225
|
<section class="bs-docs-section">
|
@@ -1387,7 +1292,8 @@
|
|
1387
1292
|
<h5 class="mb-1">音ノ木坂学院</h5>
|
1388
1293
|
<small>3 days ago</small>
|
1389
1294
|
</div>
|
1390
|
-
<p class="mb-1"
|
1295
|
+
<p class="mb-1">
|
1296
|
+
通称「音ノ木坂学院」「オトノキ」。高坂穂乃果などが通う、秋葉原、神田、神保町という3つの街のはざまにある伝統校。女子高校であり、現在入学希望者は少なく廃校の検討が発表されている。
|
1391
1297
|
</p>
|
1392
1298
|
<small>スクールアイドルグループ「μ's」</small>
|
1393
1299
|
</a>
|
@@ -1418,14 +1324,16 @@
|
|
1418
1324
|
<div class="card-body">
|
1419
1325
|
<h4 class="card-title">高坂穂乃果</h4>
|
1420
1326
|
<p class="card-text">
|
1421
|
-
『ラブライブ!』の主人公。16歳の高校2
|
1327
|
+
『ラブライブ!』の主人公。16歳の高校2年生。一人称は「私」、「穂乃果」。左側の髪の一部を黄色のリボンで結んでいるセミロングヘア。好きな食べ物はいちご、嫌いな食べ物はピーマン。
|
1328
|
+
</p>
|
1422
1329
|
</div>
|
1423
1330
|
</div>
|
1424
1331
|
<div class="card text-white bg-primary mb-3">
|
1425
1332
|
<div class="card-header">Primary card</div>
|
1426
1333
|
<div class="card-body">
|
1427
1334
|
<h4 class="card-title">園田海未</h4>
|
1428
|
-
<p class="card-text">
|
1335
|
+
<p class="card-text">
|
1336
|
+
16歳の高校2年生。一人称は「私」。腰まで伸ばした、青みがかかった黒のロングヘア。好きな食べ物は穂乃果の家のまんじゅう、嫌いな食べ物は炭酸飲料。</p>
|
1429
1337
|
</div>
|
1430
1338
|
</div>
|
1431
1339
|
<div class="card text-white bg-secondary mb-3">
|
@@ -1433,7 +1341,8 @@
|
|
1433
1341
|
<div class="card-body">
|
1434
1342
|
<h4 class="card-title">南ことり</h4>
|
1435
1343
|
<p class="card-text">
|
1436
|
-
16歳の高校2
|
1344
|
+
16歳の高校2年生。一人称は「私」、「ことり」。ロングヘアを向かって左側の髪の一部の根元を輪にして緑のリボンで結んでいる。好きな食べ物はチーズケーキ、嫌いな食べ物はにんにく。
|
1345
|
+
</p>
|
1437
1346
|
</div>
|
1438
1347
|
</div>
|
1439
1348
|
<div class="card text-white bg-success mb-3">
|
@@ -1461,7 +1370,8 @@
|
|
1461
1370
|
<div class="card-header">Info card</div>
|
1462
1371
|
<div class="card-body">
|
1463
1372
|
<h4 class="card-title">絢瀬絵里</h4>
|
1464
|
-
<p class="card-text">
|
1373
|
+
<p class="card-text">
|
1374
|
+
17歳の高校3年生。一人称は「私」、「エリチカ」。ロングヘアをシュシュで結んでポニーテールにしている。好きな食べ物はチョコレート、嫌いな食べ物は梅干とのり。</p>
|
1465
1375
|
</div>
|
1466
1376
|
</div>
|
1467
1377
|
<div class="card bg-light mb-3">
|
@@ -1487,14 +1397,16 @@
|
|
1487
1397
|
<div class="card-body">
|
1488
1398
|
<h4 class="card-title">高坂穂乃果</h4>
|
1489
1399
|
<p class="card-text">
|
1490
|
-
『ラブライブ!』の主人公。16歳の高校2
|
1400
|
+
『ラブライブ!』の主人公。16歳の高校2年生。一人称は「私」、「穂乃果」。左側の髪の一部を黄色のリボンで結んでいるセミロングヘア。好きな食べ物はいちご、嫌いな食べ物はピーマン。
|
1401
|
+
</p>
|
1491
1402
|
</div>
|
1492
1403
|
</div>
|
1493
1404
|
<div class="card border-primary mb-3">
|
1494
1405
|
<div class="card-header">Primary card</div>
|
1495
1406
|
<div class="card-body">
|
1496
1407
|
<h4 class="card-title">園田海未</h4>
|
1497
|
-
<p class="card-text">
|
1408
|
+
<p class="card-text">
|
1409
|
+
16歳の高校2年生。一人称は「私」。腰まで伸ばした、青みがかかった黒のロングヘア。好きな食べ物は穂乃果の家のまんじゅう、嫌いな食べ物は炭酸飲料。</p>
|
1498
1410
|
</div>
|
1499
1411
|
</div>
|
1500
1412
|
<div class="card border-secondary mb-3">
|
@@ -1502,7 +1414,8 @@
|
|
1502
1414
|
<div class="card-body">
|
1503
1415
|
<h4 class="card-title">南ことり</h4>
|
1504
1416
|
<p class="card-text">
|
1505
|
-
16歳の高校2
|
1417
|
+
16歳の高校2年生。一人称は「私」、「ことり」。ロングヘアを向かって左側の髪の一部の根元を輪にして緑のリボンで結んでいる。好きな食べ物はチーズケーキ、嫌いな食べ物はにんにく。
|
1418
|
+
</p>
|
1506
1419
|
</div>
|
1507
1420
|
</div>
|
1508
1421
|
<div class="card border-success mb-3">
|
@@ -1530,7 +1443,8 @@
|
|
1530
1443
|
<div class="card-header">Info card</div>
|
1531
1444
|
<div class="card-body">
|
1532
1445
|
<h4 class="card-title">絢瀬絵里</h4>
|
1533
|
-
<p class="card-text">
|
1446
|
+
<p class="card-text">
|
1447
|
+
17歳の高校3年生。一人称は「私」、「エリチカ」。ロングヘアをシュシュで結んでポニーテールにしている。好きな食べ物はチョコレート、嫌いな食べ物は梅干とのり。</p>
|
1534
1448
|
</div>
|
1535
1449
|
</div>
|
1536
1450
|
<div class="card border-light mb-3">
|
@@ -1564,7 +1478,8 @@
|
|
1564
1478
|
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
1565
1479
|
</div>
|
1566
1480
|
<div class="card-body">
|
1567
|
-
<p class="card-text"
|
1481
|
+
<p class="card-text">日本国内で注目されている「スクールアイドル」が米国でも注目され、米国のテレビ番組に前回ラブライブ!優勝チームであるμ’sが出演しました。
|
1482
|
+
</p>
|
1568
1483
|
</div>
|
1569
1484
|
<ul class="list-group list-group-flush">
|
1570
1485
|
<li class="list-group-item">Angelic Angel</li>
|
@@ -1619,7 +1534,7 @@
|
|
1619
1534
|
</button>
|
1620
1535
|
</div>
|
1621
1536
|
<div class="modal-body">
|
1622
|
-
<p
|
1537
|
+
<p>サンプルテキストサンプルテキストサンプルテキスト</p>
|
1623
1538
|
</div>
|
1624
1539
|
<div class="modal-footer">
|
1625
1540
|
<button type="button" class="btn btn-primary">変更を保存</button>
|
@@ -1628,26 +1543,7 @@
|
|
1628
1543
|
</div>
|
1629
1544
|
</div>
|
1630
1545
|
</div>
|
1631
|
-
|
1632
|
-
<h2>Toast</h2>
|
1633
|
-
<div class="bs-component d-flex justify-content-center p-md-4">
|
1634
|
-
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true">
|
1635
|
-
<div class="toast-header">
|
1636
|
-
<img class="bd-placeholder-img rounded mr-2" width="20" height="20"
|
1637
|
-
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABN5JREFUeNrsnN1R4zAQgEUm75cOzlQQd4BTwZm3eyNUAKkgUAFQgc3bvREqwKkAUwGmA18FnBbWcxpjWyt5JYexd0aTScCW8mm1P/IqQkwySR85+o6Dfv8jIvkSyrZQPi5ky49+i3yUgBDKmWxxDUxdStky2R4lrNQLIBzcFjsvZMcbz2Cg78jictCqjRzvzrkGyYE+4OyBgBqvZMelQzCgJTeyrRlud26rTSaAAvnyqnzkDJLsCyYi0SwlUzmWYy1ML5qRSX7ePFM+AiP5hDPNpjWyAZgHZjjCVhNnhv9/X3sfon3ggPMBnGlJsYkpoKzhs0s0pH3grBFO6PC7Fs4B4TJr6mjbA86NA3vzZWJtjfTM4pqmQCxCI25qb8DWXDrUGIByKuGsbG8yt7jmRXH3qlxAzGHgwl0sKYByjhE1i3e1AdTWsYkdWigwo44vWzRMQtzlRCSYjJP4nGmJCRNtqNkyky+USe2DWCwwHJs3L0ZJC1xLV9oQHDQgFwNskL8df1seAqBiYEBdSzIcHJBNPuNRQs7Ux9ZIC58q3jBBYKi7BPLDUtGoRYMhh72iqyEALQ5Biwh/B00TFEjGgLhV2LDfEFvBYO9gd/LKhQaFnoBE2NcSg0luBxAAdF3EPRcHIggE2okQXuKpyuvm3IAWjEsmRiCx8G+/SsoTkEGWGPN+s62QEuvZECODdS8bZN3HmH3vOpJgds0RBpv4Nhp0wggKvFGKrdp2jdAwh4wOoaziH5gMk2D3YIw0AsvrRhOhBQjrhwIt0qQj11Vg6TuSjgaCtquBe++4bM+1L2Rkg4YKEi3k51DJqs4m7D1CyHzsKpgCCsTIZALEDEi3nVFOGtQt+dgBhdMSa3fxFDijXmLaGIi7PvC7AYrECMUEkC46zccOSOfByrED0i2xwvPYo4MBRKz9eRuzBlEAjXqJUdR51Eb65zfTIDZ7OOdaYi6CRLR9NnvTb74BRb60B1Oa6tBKMLQqzgkDpmyz5gxgYBJsD63UZUl5rMxlg5wmqaAxskHF6xNjbAPa9yrve+kDEEXNXyzhXMmXZ0dB38fTW6jF7vOwgQtQYQEnEUznPAjaZH3ohgJoyQ0INWft0dZan0yaEVXVCBAcTmkbDLrurfAv1Wki/0tMfdaNSyfpMO6J4Rgz8VmJAYf3jqD1gYSHZ1jjoICqPbqlg9pDMcjgFe9kS+uFBgzF6nB8a089x8pRvFAoX/5C878XhPtBTHXaUYHxi2HMiRxvRomTOOuDbgj2KiTAXmnKUziMe1XAxWKDtB4KTwzGDEHnrmtWsR/dJGSCdkBmTdnn4gAUthje3MIjxh3ejzrrUCR1T9SkLQegPUFdvxjZFk3QzWzQFK8oB34pIccOy+sKohYt+gJKLdb4rkdSCzCewSNiSzAdoeSEqtejalHcC1DDeXmKtA3ujnh9FUxuDYwyaOy18v7WoK/eXuzaAE7eVv6GsG+FG9mo3g+XeO++SIDwC1M72xBgc+8+pi1lvZS+Uq44iNLZra54Emd2xQgpxZrrrr7axnSuKwk2ymswbnhu8SZGP3aC3iMhxk/GcBr6gxTlTPw/n3FHqZc2TvxaXK71L8HgL71shdnGfCF6/i4QVawyY9SkKmPf4WB77f8i+OpwS9NJwcqbPvoAM8kkPPJPgAEAyEmTr+M2lQ0AAAAASUVORK5CYII=">
|
1638
|
-
<strong class="mr-auto">Honoka</strong>
|
1639
|
-
<small>11分前</small>
|
1640
|
-
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
|
1641
|
-
<span aria-hidden="true">×</span>
|
1642
|
-
</button>
|
1643
|
-
</div>
|
1644
|
-
<div class="toast-body">
|
1645
|
-
これはToast型通知メッセージのサンプルです。
|
1646
|
-
</div>
|
1647
|
-
</div>
|
1648
|
-
</div>
|
1649
1546
|
</div>
|
1650
|
-
|
1651
1547
|
</div>
|
1652
1548
|
<div class="col-lg-6">
|
1653
1549
|
<h2>Popovers</h2>
|
@@ -1684,7 +1580,6 @@
|
|
1684
1580
|
|
1685
1581
|
</div>
|
1686
1582
|
|
1687
|
-
|
1688
1583
|
<script type="text/javascript">
|
1689
1584
|
$('.bs-component [data-toggle="popover"]').popover();
|
1690
1585
|
$('.bs-component [data-toggle="tooltip"]').tooltip();
|
@@ -58,7 +58,9 @@
|
|
58
58
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
59
59
|
<div class="container">
|
60
60
|
<a class="navbar-brand" href="./">
|
61
|
-
<img
|
61
|
+
<img
|
62
|
+
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAMFBMVEX/ueP/6Pb/mNb/otr/rN7/8/r/////0e3/3PH/y+r/ntj/+f3/wOb/xuj/mtf////Ltbk5AAAAEHRSTlP///////////////////8A4CNdGQAAAdpJREFUeNrtmMGSpCAMQCEJGgJk/v9v15qmdCVOo9A1l913TflKlIQE9/Uh/lVR4OgIBUCQcuQwJvKFoIGKfypKK8EltKYHohQFfkRiuitihLcI3xIFgi4U+iIWuIFwT1TgJuWtaHFwG7cYkfE8NFmRg0fkn0QFHlKuRQyP4StREHiMhAsRwXOUrIhhCG5FSWAITI0owiDxLEoCg0g6idY2u48a0IusJxE2f3VZ9t3QiSj+LfJwIi8bGSq9iK8imxzKywZDpRcpu8hsxrBsBIVKJ0KHKMCZ5RuodCNhF/GciHdRvFwAVLqRWEW2oL0+qUKlF3k5rhK/ND+5E6FdhJ1t14ngLhKAkRSxIphDPy8SmALNx54WEUxBZkMO4kyKDBJN0g7CpowMEkxhG0LRltoDVbhNMcX/QJxDuARJoMGfjiM9i7JnEjAosclZfHdAghCHjNCAm9+1i17fH9mKsX0pJfYRW4+kXhOh7vScYg7spNdEfCW0JszB55dK8VtrPZjuNFqKa/CREClzXWgL32z9hIoPG34lUbDQ/WZUBYlQRHvN6Hx7/PmG/SBPjxDzQ838mDU/+P3CKDo/HD99KeRfvECYv9Kw+IKmGBQ/fO2TCQW0Xvv8vxqb4w8hOpDUx5Nj5wAAAABJRU5ErkJggg=="
|
63
|
+
width="30" height="30" class="d-inline-block align-top mr-1" alt="">
|
62
64
|
Nico
|
63
65
|
</a>
|
64
66
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar"
|
@@ -57,7 +57,9 @@
|
|
57
57
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
58
58
|
<div class="container">
|
59
59
|
<a class="navbar-brand" href="./">
|
60
|
-
<img
|
60
|
+
<img
|
61
|
+
src="data:image/png;base64,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"
|
62
|
+
width="30" height="30" class="d-inline-block align-top mr-1" alt="">
|
61
63
|
Umi
|
62
64
|
</a>
|
63
65
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar"
|
@@ -1,11 +1,7 @@
|
|
1
1
|
require_relative 'boot'
|
2
2
|
|
3
3
|
require 'rails/all'
|
4
|
-
require
|
5
|
-
require 'sprockets'
|
6
|
-
require 'turbolinks'
|
7
|
-
|
8
|
-
Bundler.require(*Rails.groups)
|
4
|
+
Bundler.require(*Rails.groups << :development)
|
9
5
|
|
10
6
|
module Dummy
|
11
7
|
class Application < Rails::Application
|
data/test/dummy/config/routes.rb
CHANGED
File without changes
|
data/test/honoka_test.rb
CHANGED
@@ -1,10 +1,44 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class Bootstrap::Honoka::Rails::Test < ActionDispatch::IntegrationTest
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
# Mix-in
|
5
|
+
include DummyIntegration
|
6
|
+
|
7
|
+
# constant stylesheets
|
8
|
+
STYLESHEETS = ::Bootstrap::Honoka::Rails.stylesheets
|
9
|
+
|
10
|
+
# constant data variables
|
11
|
+
TEST_PAGES = STYLESHEETS.map(&:freeze).freeze
|
12
|
+
TEST_PATHS = TEST_PAGES.map { |el| "/pages/#{el}".freeze }.freeze
|
13
|
+
TEST_DATAS = TEST_PAGES.zip(TEST_PATHS).map(&:freeze).freeze
|
14
|
+
|
15
|
+
# access test
|
16
|
+
TEST_DATAS.each do |page, path|
|
17
|
+
test "access #{page}" do
|
18
|
+
begin
|
19
|
+
# ページのアクセステスト
|
20
|
+
visit path
|
21
|
+
|
22
|
+
# ステータスコードの取得を行う
|
23
|
+
# https://stackoverflow.com/questions/7908907/how-to-test-the-response-code-with-capybara-selenium
|
24
|
+
response_code = Capybara.page.first('html')[:code].to_i
|
25
|
+
assert response_code == 200, 'エラー:正しくページを取得できませんでした。'
|
26
|
+
ensure
|
27
|
+
# エラーであっても表示ページのscreenshotは撮る。
|
28
|
+
take_full_page_screenshot!
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
# compile test
|
34
|
+
TEST_PAGES.each do |page|
|
35
|
+
test "compile #{page}" do
|
36
|
+
# Sassのコンパイルを行う
|
37
|
+
SassC::Engine.new("@import '_#{page}';",
|
38
|
+
load_paths: app.config.assets.paths).render
|
39
|
+
|
40
|
+
# 例外が発生せずここまで来れば assert成功
|
41
|
+
assert true
|
8
42
|
end
|
9
43
|
end
|
10
44
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# require files
|
2
|
+
require 'fileutils'
|
3
|
+
|
4
|
+
# DummyIntegration
|
5
|
+
module DummyIntegration
|
6
|
+
# Capybara系のヘルパーメソッド
|
7
|
+
|
8
|
+
# Mix-in
|
9
|
+
include Capybara::DSL
|
10
|
+
include Capybara::Minitest::Assertions
|
11
|
+
|
12
|
+
def setup
|
13
|
+
super
|
14
|
+
cleanup_cache_files
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
super
|
19
|
+
Capybara.reset_sessions!
|
20
|
+
Capybara.use_default_driver
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def cleanup_cache_files
|
26
|
+
FileUtils.rm_rf('test/dummy/tmp/cache', secure: true)
|
27
|
+
end
|
28
|
+
|
29
|
+
def screenshot_to_file!(path, log_append = '')
|
30
|
+
# save screenshot!
|
31
|
+
page.save_screenshot File.join(ROOT_PATH, path)
|
32
|
+
::Minitest::Reporters::DummyReporter.log_strings_append! "Screenshot: Saved to #{path} #{log_append}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# screenshotを撮る
|
36
|
+
def screenshot!
|
37
|
+
# パスを設定してファイルを保存する。
|
38
|
+
path = "tmp/#{name}.png"
|
39
|
+
screenshot_to_file! path
|
40
|
+
end
|
41
|
+
|
42
|
+
# 画面リサイズ後にscreenshotを撮る
|
43
|
+
def take_full_page_screenshot!
|
44
|
+
# https://testingrepository.com/full-page-screenshot-with-selenium/
|
45
|
+
# https://github.com/teampoltergeist/poltergeist/issues/165
|
46
|
+
# https://sqa.stackexchange.com/questions/9007/how-to-handle-time-out-receiving-message-from-the-renderer-in-chrome-driver
|
47
|
+
|
48
|
+
# 幅と高さを取得しブラウザのリサイズを行う。
|
49
|
+
width = Capybara.page.execute_script('return screen.width;')
|
50
|
+
height = Capybara.page.execute_script('return Math.max( document.body.scrollHeight , document.body.offsetHeight , document.documentElement.clientHeight , document.documentElement.scrollHeight , document.documentElement.offsetHeight );')
|
51
|
+
window = Capybara.current_session.driver.browser.manage.window
|
52
|
+
window.resize_to(width, height)
|
53
|
+
|
54
|
+
# スクリーンショットの保存
|
55
|
+
screenshot_to_file! "tmp/#{name}.png", "- W:H=#{width}:#{height}"
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'minitest/reporters'
|
2
|
+
|
3
|
+
module Minitest
|
4
|
+
module Reporters
|
5
|
+
class DummyReporter < DefaultReporter
|
6
|
+
# 最後にログ出力する際の文字列配列(下記注意点)
|
7
|
+
#
|
8
|
+
# 1)特異メソッド内から下記変数を参照する為、クラス変数にするべきと思われるかもしれないが、
|
9
|
+
# 後にDummyReportersから継承される可能性を考慮すると、
|
10
|
+
# クラスインスタンス変数を使用する方が良いとの事。
|
11
|
+
# Effective Ruby 項目15
|
12
|
+
# 2)クラスインスタンス変数をクラスメソッドで使用する点から
|
13
|
+
# SingletonをIncludeする事も考慮したが、
|
14
|
+
# その場合
|
15
|
+
# ・Instanceメソッドからinitializeに引数が渡せない。
|
16
|
+
# ・どうしても親クラスのinitializeにデータを渡す際、
|
17
|
+
# def set_options( options = {} ); initialize(options); end;
|
18
|
+
# というようなRubyとして正か判断できないややこしい処理となりそうだった。
|
19
|
+
# (一般的に考えてコンストラクタを無理やり呼び出す違和感のあるやり方)
|
20
|
+
# という観点からSingletonは見送りとした。
|
21
|
+
@log_strings = []
|
22
|
+
|
23
|
+
# 特異メソッド
|
24
|
+
class << self
|
25
|
+
attr_reader :log_strings
|
26
|
+
|
27
|
+
def log_strings_append!(rhs)
|
28
|
+
@log_strings << rhs unless rhs.nil?
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# 独自カラー
|
33
|
+
def cyan(string)
|
34
|
+
color? ? ANSI::Code.cyan(string) : string
|
35
|
+
end
|
36
|
+
|
37
|
+
def magenta(string)
|
38
|
+
color? ? ANSI::Code.magenta(string) : string
|
39
|
+
end
|
40
|
+
|
41
|
+
# レポートを行う
|
42
|
+
def on_report
|
43
|
+
super
|
44
|
+
return if self.class.log_strings.empty?
|
45
|
+
|
46
|
+
puts
|
47
|
+
puts cyan('------------------------------------------------------------')
|
48
|
+
puts magenta('[TEST INFO]')
|
49
|
+
self.class.log_strings.each do |data|
|
50
|
+
puts yellow(data)
|
51
|
+
end
|
52
|
+
puts cyan('------------------------------------------------------------')
|
53
|
+
puts
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# セットアップ
|
58
|
+
reporter_options = { color: true }
|
59
|
+
::Minitest::Reporters.use! [DummyReporter.new(reporter_options)]
|
60
|
+
end
|
61
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,8 +1,52 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'minitest/reporters'
|
3
|
-
|
4
1
|
# Configure Rails Environment
|
5
2
|
ENV['RAILS_ENV'] = 'test'
|
6
3
|
|
7
|
-
|
8
|
-
|
4
|
+
# require environment / rails / capybara
|
5
|
+
require_relative 'dummy/config/environment'
|
6
|
+
require 'rails/test_help' # 内部でminitestのautorunも行う。
|
7
|
+
require 'capybara/rails' # 内部でcapybara/dslもrequireする。
|
8
|
+
require 'capybara/minitest'
|
9
|
+
|
10
|
+
# settings
|
11
|
+
Webdrivers.cache_time = 10_000
|
12
|
+
ROOT_PATH = File.expand_path('../', File.dirname(__FILE__)).freeze
|
13
|
+
|
14
|
+
# support directory files require
|
15
|
+
Dir['test/support/**/*.rb'].each do |file|
|
16
|
+
require_relative File.join('.', file[5..-4])
|
17
|
+
end
|
18
|
+
|
19
|
+
# -----------------------------------------------------------------------------
|
20
|
+
|
21
|
+
# https://groups.google.com/forum/#!topic/chromedriver-users/ZBEju24L5ww
|
22
|
+
|
23
|
+
# Settings Selenium Timeout
|
24
|
+
client = Selenium::WebDriver::Remote::Http::Default.new
|
25
|
+
client.read_timeout = 1000 # 1000 second read wait
|
26
|
+
|
27
|
+
# Capybara driver settings
|
28
|
+
Capybara.register_driver :selenium_chrome_headless do |app|
|
29
|
+
Capybara::Selenium::Driver.load_selenium
|
30
|
+
browser_options = ::Selenium::WebDriver::Chrome::Options.new.tap do |opts|
|
31
|
+
opts.args << 'start-maximized'
|
32
|
+
opts.args << 'enable-automation'
|
33
|
+
opts.args << '--window-size=1200,768'
|
34
|
+
opts.args << '--headless'
|
35
|
+
opts.args << '--disable-gpu'
|
36
|
+
opts.args << '--no-sandbox'
|
37
|
+
opts.args << '--disable-infobars'
|
38
|
+
opts.args << '--disable-dev-shm-usage'
|
39
|
+
opts.args << '--disable-browser-side-navigation'
|
40
|
+
opts.args << '--disable-site-isolation-trials'
|
41
|
+
end
|
42
|
+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options, http_client: client)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Capybara settings
|
46
|
+
Capybara.configure do |config|
|
47
|
+
config.server_port = 3000
|
48
|
+
config.app_host = "http://localhost:#{config.server_port}"
|
49
|
+
config.default_driver = :selenium_chrome_headless
|
50
|
+
config.javascript_driver = :selenium_chrome_headless
|
51
|
+
config.server = :webrick
|
52
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap-honoka-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.
|
4
|
+
version: 4.0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takmg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-05-
|
11
|
+
date: 2019-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bootstrap
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 4.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: capybara
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.20.2
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.20.2
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: jquery-rails
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +80,34 @@ dependencies:
|
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: 1.3.6
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-byebug
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.7.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.7.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sassc
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.0.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.0.0
|
69
111
|
- !ruby/object:Gem::Dependency
|
70
112
|
name: sprockets-rails
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +150,21 @@ dependencies:
|
|
108
150
|
- - "~>"
|
109
151
|
- !ruby/object:Gem::Version
|
110
152
|
version: 4.1.20
|
111
|
-
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: webdrivers
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 3.9.4
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 3.9.4
|
167
|
+
description: Gem to handle -Bootstrap Honoka, Umi, Nico, Rin- easily
|
112
168
|
email:
|
113
169
|
- Takmg@example.com
|
114
170
|
executables: []
|
@@ -162,16 +218,16 @@ files:
|
|
162
218
|
- test/dummy/config/environments/production.rb
|
163
219
|
- test/dummy/config/environments/test.rb
|
164
220
|
- test/dummy/config/initializers/assets.rb
|
165
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
166
221
|
- test/dummy/config/initializers/filter_parameter_logging.rb
|
167
|
-
- test/dummy/config/initializers/inflections.rb
|
168
|
-
- test/dummy/config/initializers/mime_types.rb
|
169
222
|
- test/dummy/config/initializers/wrap_parameters.rb
|
170
223
|
- test/dummy/config/locales/en.yml
|
171
224
|
- test/dummy/config/routes.rb
|
172
225
|
- test/dummy/package.json
|
173
226
|
- test/dummy/production_key_generate.sh
|
227
|
+
- test/dummy/public/favicon.ico
|
174
228
|
- test/honoka_test.rb
|
229
|
+
- test/support/dummy_integration.rb
|
230
|
+
- test/support/dummy_reporters.rb
|
175
231
|
- test/test_helper.rb
|
176
232
|
homepage: https://github.com/Takmg/bootstrap-honoka-rails
|
177
233
|
licenses:
|
@@ -195,7 +251,7 @@ requirements: []
|
|
195
251
|
rubygems_version: 3.0.3
|
196
252
|
signing_key:
|
197
253
|
specification_version: 4
|
198
|
-
summary: Gem to handle -Bootstrap
|
254
|
+
summary: Gem to handle -Bootstrap Honoka, Umi, Nico, Rin- easily
|
199
255
|
test_files:
|
200
256
|
- test/dummy/Rakefile
|
201
257
|
- test/dummy/app/assets/config/manifest.js
|
@@ -221,14 +277,14 @@ test_files:
|
|
221
277
|
- test/dummy/config/environments/production.rb
|
222
278
|
- test/dummy/config/environments/test.rb
|
223
279
|
- test/dummy/config/initializers/assets.rb
|
224
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
225
280
|
- test/dummy/config/initializers/filter_parameter_logging.rb
|
226
|
-
- test/dummy/config/initializers/inflections.rb
|
227
|
-
- test/dummy/config/initializers/mime_types.rb
|
228
281
|
- test/dummy/config/initializers/wrap_parameters.rb
|
229
282
|
- test/dummy/config/locales/en.yml
|
230
283
|
- test/dummy/config/routes.rb
|
231
284
|
- test/dummy/package.json
|
232
285
|
- test/dummy/production_key_generate.sh
|
286
|
+
- test/dummy/public/favicon.ico
|
233
287
|
- test/honoka_test.rb
|
288
|
+
- test/support/dummy_integration.rb
|
289
|
+
- test/support/dummy_reporters.rb
|
234
290
|
- test/test_helper.rb
|
@@ -1,7 +0,0 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
|
-
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
|
4
|
-
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
|
5
|
-
|
6
|
-
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
|
7
|
-
# Rails.backtrace_cleaner.remove_silencers!
|
@@ -1,16 +0,0 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
|
-
# Add new inflection rules using the following format. Inflections
|
4
|
-
# are locale specific, and you may define rules for as many different
|
5
|
-
# locales as you wish. All of these examples are active by default:
|
6
|
-
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
7
|
-
# inflect.plural /^(ox)$/i, '\1en'
|
8
|
-
# inflect.singular /^(ox)en/i, '\1'
|
9
|
-
# inflect.irregular 'person', 'people'
|
10
|
-
# inflect.uncountable %w( fish sheep )
|
11
|
-
# end
|
12
|
-
|
13
|
-
# These inflection rules are supported but not enabled by default:
|
14
|
-
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
15
|
-
# inflect.acronym 'RESTful'
|
16
|
-
# end
|