自分用メモ
先日、試した(はじめる!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:ポルトガル語
凄いですね。
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) | "しかし", "但し", "ただし" |