cucumberメモ

自分用メモ

先日、試した(はじめる!Cucumber-0.9.1 をやってみた - うんたらかんたら日記)cucumberですが、
どうやって書くんだっけとなるので、メモ。


cucumber-rails-0.3.2
gems/cucumber-rails-0.3.2/templates/install/step_definitions/web_steps_ja.rb.erb より

$ grep -v ^# ./templates/install/step_definitions/web_steps_ja.rb.erb | ruby -ne 'puts $_ if $_.match(/前提|もし|ならば/)  '
前提 /^"([^"]*)"ページを表示している$/ do |page_name|
もし /^"([^"]*)"ページを表示する$/ do |page_name|
もし /^"([^"]*)"ボタンをクリックする$/ do |button|
もし /^"([^"]*)"リンクをクリックする$/ do |link|
もし /^"([^"]*)"の"([^"]*)"リンクをクリックする$/ do |parent, link|
もし /^"([^"]*)"に"([^"]*)"と入力する$/ do |field, value|
もし /^以下の項目を入力する:$/ do |fields|
もし /^"([^"]*)"から"([^"]*)"を選択する$/ do |field, value|
もし /^日時として"([^"]*)"を選択する$/ do |time|
もし /^"([^"]*)"の日時として"([^"]*)"を選択する$/ do |datetime_label, datetime|
もし /^時間として"([^"]*)"を選択する$/ do |time|
もし /^"([^"]*)"の時間として"([^"]*)"を選択する$/ do |time_label, time|
もし /^日付として"([^"]*)"を選択する$/ do |date|
もし /^"([^"]*)"の日付として"([^"]*)"を選択する$/ do |date_label, date|
もし /^"([^"]*)"をチェックする$/ do |field|
もし /^"([^"]*)"のチェックを外す$/ do |field|
もし /^"([^"]*)"を選択する$/ do |field|
もし /^"([^"]*)"としてファイル"([^"]*)"を選択する$/ do |field, path|
ならば /^"([^"]*)"と表示されていること$/ do |text|
ならば /^"([^"]*)"に"([^"]*)"と表示されていること$/ do |selector, text|
ならば /^\/([^\/]*)\/と表示されていること$/ do |regexp|
ならば /^"([^"]*)"に\/([^\/]*)\/と表示されていること$/ do |selector, regexp|
ならば /^"([^"]*)"と表示されていないこと$/ do |text|
ならば /^"([^"]*)"に"([^"]*)"と表示されていないこと$/ do |selector, text|
ならば /^\/([^\/]*)\/と表示されていないこと$/ do |regexp|
ならば /^"([^"]*)"に\/([^\/]*)\/と表示されていないこと$/ do |selector, regexp|
ならば /^入力項目"([^"]*)"に"([^"]*)"と表示されていること$/ do |field, value|
ならば /^入力項目"([^"]*)"に"([^"]*)"と表示されていないこと$/ do |field, value|
ならば /^"([^"]*)"がチェックされていること$/ do |label|
ならば /^"([^"]*)"がチェックされていないこと$/ do |label|
ならば /^"([^"]*)"ページを表示していること$/ do |page_name|
ならば /^ページを表示する$/, &show_me_the_page
ならば /^画面を目視$/, &show_me_the_page
ならば /^デバッグ(?:のため)?$/, &show_me_the_page

各国語の対応状況

$ cd ~/.rvm/gems/ruby-1.8.7-head/gems/cucumber-rails-0.3.2
$ ll ./templates/install/step_definitions/
total 120
drwxr-xr-x  12 rochefort  staff   408  1  2 19:12 ./
drwxr-xr-x   8 rochefort  staff   272  1  2 19:12 ../
-rwxr-xr-x   1 rochefort  staff  5790  1  2 19:12 capybara_steps.rb.erb*
-rw-r--r--   1 rochefort  staff  3773  1  2 19:12 web_steps_cs.rb.erb
-rw-r--r--   1 rochefort  staff  3171  1  2 19:12 web_steps_da.rb.erb
-rw-r--r--   1 rochefort  staff  4099  1  2 19:12 web_steps_de.rb.erb
-rw-r--r--   1 rochefort  staff  3773  1  2 19:12 web_steps_es.rb.erb
-rw-r--r--   1 rochefort  staff  4326  1  2 19:12 web_steps_ja.rb.erb
-rw-r--r--   1 rochefort  staff  4164  1  2 19:12 web_steps_ko.rb.erb
-rw-r--r--   1 rochefort  staff  3169  1  2 19:12 web_steps_no.rb.erb
-rw-r--r--   1 rochefort  staff  3895  1  2 19:12 web_steps_pt-BR.rb.erb
-rw-r--r--   1 rochefort  staff  7781  1  2 19:12 webrat_steps.rb.erb


web_steps_見ても韓国語しか分からなかったので
言語コード一覧見ると

cs:チェコ語
da:デンマーク語
de:ドイツ語
es:スペイン語
ja:日本語
ko:韓国語
no:ノルウェー語
pt-BR:ポルトガル語


凄いですね。


余談ですが

aslakhellesoy's Profile - GitHub
この人グラサン似合うなぁと前から思ってたんですが
角生えてたんですねww。cool!!

https://secure.gravatar.com/avatar/0be0e4aa42aacd9a8a95c792de273ca7?s=140&d=https://github.com%2Fimages%2Fgravatars%2Fgravatar-140.png


20110213追記

こんなに対応してた。

$ cucumber --i18n help
      | ar        | Arabic                 | العربية              |
      | bg        | Bulgarian              | български            |
      | ca        | Catalan                | català               |
      | cs        | Czech                  | Česky                |
      | cy-GB     | Welsh                  | Cymraeg              |
      | da        | Danish                 | dansk                |
      | de        | German                 | Deutsch              |
      | en        | English                | English              |
      | en-Scouse | Scouse                 | Scouse               |
      | en-au     | Australian             | Australian           |
      | en-lol    | LOLCAT                 | LOLCAT               |
      | en-pirate | Pirate                 | Pirate               |
      | en-tx     | Texan                  | Texan                |
      | eo        | Esperanto              | Esperanto            |
      | es        | Spanish                | español              |
      | et        | Estonian               | eesti keel           |
      | fi        | Finnish                | suomi                |
      | fr        | French                 | français             |
      | he        | Hebrew                 | עברית                |
      | hr        | Croatian               | hrvatski             |
      | hu        | Hungarian              | magyar               |
      | id        | Indonesian             | Bahasa Indonesia     |
      | it        | Italian                | italiano             |
      | ja        | Japanese               | 日本語                  |
      | ko        | Korean                 | 한국어                  |
      | lt        | Lithuanian             | lietuvių kalba       |
      | lu        | Luxemburgish           | Lëtzebuergesch       |
      | lv        | Latvian                | latviešu             |
      | nl        | Dutch                  | Nederlands           |
      | no        | Norwegian              | norsk                |
      | pl        | Polish                 | polski               |
      | pt        | Portuguese             | português            |
      | ro        | Romanian               | română               |
      | ro-RO     | Romanian (diacritical) | română (diacritical) |
      | ru        | Russian                | русский              |
      | sk        | Slovak                 | Slovensky            |
      | sr-Cyrl   | Serbian                | Српски               |
      | sr-Latn   | Serbian (Latin)        | Srpski (Latinica)    |
      | sv        | Swedish                | Svenska              |
      | tr        | Turkish                | Türkçe               |
      | uk        | Ukrainian              | Українська           |
      | uz        | Uzbek                  | Узбекча              |
      | vi        | Vietnamese             | Tiếng Việt           |
      | zh-CN     | Chinese simplified     | 简体中文                 |
      | zh-TW     | Chinese traditional    | 繁體中文                 |
$ cucumber --i18n ja
      | feature          | "フィーチャ", "機能"                                  |
      | background       | "背景"                                           |
      | scenario         | "シナリオ"                                         |
      | scenario_outline | "シナリオアウトライン", "シナリオテンプレート", "テンプレ", "シナリオテンプレ" |
      | examples         | "例", "サンプル"                                    |
      | given            | "* ", "前提"                                     |
      | when             | "* ", "もし"                                     |
      | then             | "* ", "ならば"                                    |
      | and              | "* ", "かつ"                                     |
      | but              | "* ", "しかし", "但し", "ただし"                       |
      | given (code)     | "前提"                                           |
      | when (code)      | "もし"                                           |
      | then (code)      | "ならば"                                          |
      | and (code)       | "かつ"                                           |
      | but (code)       | "しかし", "但し", "ただし"                             |