def test_output_outlines_success_colorful(): "Language: ru -> sucess outlines colorful" runner = Runner(join_path('ru', 'success', 'outlines.feature'), verbosity=3, no_color=False) runner.run() assert_stdout_lines( u'\n' u'\x1b[1;37m\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b: \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:3\x1b[0m\n' u'\x1b[1;37m \u041a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:4\x1b[0m\n' u'\x1b[1;37m \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u043e\u0431\u044b lettuce \u0431\u044b\u043b \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:5\x1b[0m\n' u'\x1b[1;37m \u042f \u0445\u043e\u0447\u0443, \u0447\u0442\u043e \u0431\u044b \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:6\x1b[0m\n' u'\n' u'\x1b[1;37m \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f: \u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:8\x1b[0m\n' u'\x1b[0;36m \u041f\u0443\u0441\u043a\u0430\u0439 \u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 "http://sona-studio.com/contacts/" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:12\x1b[0m\n' u'\x1b[0;36m \u041a\u043e\u0433\u0434\u0430 \u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e \u0432 \u043f\u043e\u043b\u0435 "\u0418\u043c\u044f" "<\u0438\u043c\u044f>" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:16\x1b[0m\n' u'\x1b[0;36m \u0418 \u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e \u0432 \u043f\u043e\u043b\u0435 "Email" "<email>" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:24\x1b[0m\n' u'\x1b[0;36m \u0418 \u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e \u0432 \u043f\u043e\u043b\u0435 "\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435" "<\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435>" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:32\x1b[0m\n' u'\x1b[0;36m \u0418 \u044f \u043d\u0430\u0436\u0438\u043c\u0430\u044e "\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:40\x1b[0m\n' u'\x1b[0;36m \u0422\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 "\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u0430\u0448\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:43\x1b[0m\n' u'\n' u'\x1b[1;37m \u041f\u0440\u0438\u043c\u0435\u0440\u044b:\x1b[0m\n' u'\x1b[0;36m \x1b[1;37m |\x1b[0;36m \u0438\u043c\u044f \x1b[1;37m |\x1b[0;36m email \x1b[1;37m |\x1b[0;36m \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \x1b[1;37m |\x1b[0;36m\x1b[0m\n' u'\x1b[1;32m \x1b[1;37m |\x1b[1;32m \u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0418\u0433\u043e\u0440\u0435\u0432\u0438\u0447\x1b[1;37m |\x1b[1;32m [email protected]\x1b[1;37m |\x1b[1;32m \u0415\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c\x1b[1;37m |\x1b[1;32m\x1b[0m\n' u'\x1b[1;32m \x1b[1;37m |\x1b[1;32m \u041c\u0430\u0440\u0438\u043d\u0430 \u0411\u0430\u043d\u0440\u0430\u0443\u043b \x1b[1;37m |\x1b[1;32m [email protected]\x1b[1;37m |\x1b[1;32m \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0432\u0430\u0448\u0438 \u0434\u0438\u0437\u0430\u0439\u043d\u044b, \u0445\u043e\u0447\u0443 \u0441\u0430\u0439\u0442 \x1b[1;37m |\x1b[1;32m\x1b[0m\n' u'\n' u'\x1b[1;37m1 feature (\x1b[1;32m1 passed\x1b[1;37m)\x1b[0m\n' u'\x1b[1;37m2 scenarios (\x1b[1;32m2 passed\x1b[1;37m)\x1b[0m\n' u'\x1b[1;37m12 steps (\x1b[1;32m12 passed\x1b[1;37m)\x1b[0m\n')
def test_output_outlines_success_colorless(): "Language: pt-br -> sucess outlines colorless" runner = Runner(join_path('pt-br', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( u'\n' u'Funcionalidade: outlines em português # tests/functional/language_specific_features/pt-br/success/outlines.feature:3\n' u' Como um programador # tests/functional/language_specific_features/pt-br/success/outlines.feature:4\n' u' Eu quero testar cenários esquemáticos # tests/functional/language_specific_features/pt-br/success/outlines.feature:5\n' u' Para ver o output em pt-br # tests/functional/language_specific_features/pt-br/success/outlines.feature:6\n' u'\n' u' Esquema do Cenário: Fazer nada, repetidas vezes, através de esquemas # tests/functional/language_specific_features/pt-br/success/outlines.feature:8\n' u' Dado que tenho o <dado1> # tests/functional/language_specific_features/pt-br/success/outlines_steps.py:13\n' u' Quando eu faço algo com <isso> # tests/functional/language_specific_features/pt-br/success/outlines_steps.py:22\n' u' Então eu fico feliz em ver <aquilo> # tests/functional/language_specific_features/pt-br/success/outlines_steps.py:31\n' u'\n' u' Exemplos:\n' u' | dado1 | isso | aquilo |\n' u' | algo | assim | funcional |\n' u' | outro | aqui | também |\n' u' | dados | funcionarão | com unicode ! |\n' u'\n' u'1 feature (1 passed)\n' u'3 scenarios (3 passed)\n' u'9 steps (9 passed)\n')
def test_output_with_successful_outline_colorful(): "Testing the colorful output of a scenario outline" runner = Runner(feature_name('success_outline'), verbosity=4) runner.run() assert_stdout_lines( '\n' '\033[1;37mFeature: Successful Scenario Outline \033[1;30m# tests/functional/output_features/success_outline/success_outline.feature:1\033[0m\n' '\033[1;37m As lettuce author \033[1;30m# tests/functional/output_features/success_outline/success_outline.feature:2\033[0m\n' '\033[1;37m In order to finish the first release \033[1;30m# tests/functional/output_features/success_outline/success_outline.feature:3\033[0m\n' '\033[1;37m I want to make scenario outlines work :) \033[1;30m# tests/functional/output_features/success_outline/success_outline.feature:4\033[0m\n' '\n' '\033[1;37m Scenario Outline: fill a web form \033[1;30m# tests/functional/output_features/success_outline/success_outline.feature:6\033[0m\n' '\033[0;36m Given I open browser at "http://www.my-website.com/" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:21\033[0m\n' '\033[0;36m And click on "sign-up" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:25\033[0m\n' '\033[0;36m When I fill the field "username" with "<username>" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:29\033[0m\n' '\033[0;36m And I fill the field "password" with "<password>" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:29\033[0m\n' '\033[0;36m And I fill the field "password-confirm" with "<password>" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:29\033[0m\n' '\033[0;36m And I fill the field "email" with "<email>" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:29\033[0m\n' '\033[0;36m And I click "done" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:33\033[0m\n' '\033[0;36m Then I see the message "<message>" \033[1;30m# tests/functional/output_features/success_outline/success_outline_steps.py:37\033[0m\n' '\n' '\033[1;37m Examples:\033[0m\n' '\033[0;36m \033[1;37m |\033[0;36m username\033[1;37m |\033[0;36m password\033[1;37m |\033[0;36m email \033[1;37m |\033[0;36m message \033[1;37m |\033[0;36m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m john \033[1;37m |\033[1;32m doe-1234\033[1;37m |\033[1;32m [email protected]\033[1;37m |\033[1;32m Welcome, John\033[1;37m |\033[1;32m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m mary \033[1;37m |\033[1;32m wee-9876\033[1;37m |\033[1;32m [email protected]\033[1;37m |\033[1;32m Welcome, Mary\033[1;37m |\033[1;32m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m foo \033[1;37m |\033[1;32m foo-bar \033[1;37m |\033[1;32m [email protected] \033[1;37m |\033[1;32m Welcome, Foo \033[1;37m |\033[1;32m\033[0m\n' '\n' "\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" \ "\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" \ "\033[1;37m24 steps (\033[1;32m24 passed\033[1;37m)\033[0m\n" )
def test_output_with_successful_outline_colorless(): "Testing the colorless output of a scenario outline" runner = Runner(feature_name('success_outline'), verbosity=3) runner.run() assert_stdout_lines( '\n' 'Feature: Successful Scenario Outline # tests/functional/output_features/success_outline/success_outline.feature:1\n' ' As lettuce author # tests/functional/output_features/success_outline/success_outline.feature:2\n' ' In order to finish the first release # tests/functional/output_features/success_outline/success_outline.feature:3\n' ' I want to make scenario outlines work :) # tests/functional/output_features/success_outline/success_outline.feature:4\n' '\n' ' Scenario Outline: fill a web form # tests/functional/output_features/success_outline/success_outline.feature:6\n' ' Given I open browser at "http://www.my-website.com/" # tests/functional/output_features/success_outline/success_outline_steps.py:21\n' ' And click on "sign-up" # tests/functional/output_features/success_outline/success_outline_steps.py:25\n' ' When I fill the field "username" with "<username>" # tests/functional/output_features/success_outline/success_outline_steps.py:29\n' ' And I fill the field "password" with "<password>" # tests/functional/output_features/success_outline/success_outline_steps.py:29\n' ' And I fill the field "password-confirm" with "<password>" # tests/functional/output_features/success_outline/success_outline_steps.py:29\n' ' And I fill the field "email" with "<email>" # tests/functional/output_features/success_outline/success_outline_steps.py:29\n' ' And I click "done" # tests/functional/output_features/success_outline/success_outline_steps.py:33\n' ' Then I see the message "<message>" # tests/functional/output_features/success_outline/success_outline_steps.py:37\n' '\n' ' Examples:\n' ' | username | password | email | message |\n' ' | john | doe-1234 | [email protected] | Welcome, John |\n' ' | mary | wee-9876 | [email protected] | Welcome, Mary |\n' ' | foo | foo-bar | [email protected] | Welcome, Foo |\n' '\n' '1 feature (1 passed)\n' '3 scenarios (3 passed)\n' '24 steps (24 passed)\n' )
def test_output_outlines_success_colorless(): "Language: ru -> sucess outlines colorless" runner = Runner(join_path('ru', 'success', 'outlines.feature'), verbosity=3, no_color=True) runner.run() assert_stdout_lines( u'\n' u'Функционал: Проверить вывод структурного сценария # tests/functional/language_specific_features/ru/success/outlines.feature:3\n' u' Как программист # tests/functional/language_specific_features/ru/success/outlines.feature:4\n' u' Для того чобы lettuce был надежным # tests/functional/language_specific_features/ru/success/outlines.feature:5\n' u' Я хочу, что бы сценарии со структурой работали на русском # tests/functional/language_specific_features/ru/success/outlines.feature:6\n' u'\n' u' Структура сценария: Заполнить форму # tests/functional/language_specific_features/ru/success/outlines.feature:8\n' u' Пускай я открываю в браузере "http://sona-studio.com/contacts/" # tests/functional/language_specific_features/ru/success/outlines_steps.py:12\n' u' Когда я заполняю в поле "Имя" "<имя>" # tests/functional/language_specific_features/ru/success/outlines_steps.py:16\n' u' И я заполняю в поле "Email" "<email>" # tests/functional/language_specific_features/ru/success/outlines_steps.py:24\n' u' И я заполняю в поле "Сообщение" "<сообщение>" # tests/functional/language_specific_features/ru/success/outlines_steps.py:32\n' u' И я нажимаю "Отправить" # tests/functional/language_specific_features/ru/success/outlines_steps.py:40\n' u' Тогда я получаю сообщение "Спасибо за ваше сообщение" # tests/functional/language_specific_features/ru/success/outlines_steps.py:43\n' u'\n' u' Примеры:\n' u' | имя | email | сообщение |\n' u' | Виталий Игоревич | [email protected] | Есть интересный проект, нужно обсудить |\n' u' | Марина Банраул | [email protected] | Мне нравятся ваши дизайны, хочу сайт |\n' u'\n' u'1 feature (1 passed)\n' u'2 scenarios (2 passed)\n' u'12 steps (12 passed)\n')
def test_output_with_success_colorless_many_features(): "Testing the output of many successful features" runner = Runner(join(abspath(dirname(__file__)), 'output_features', 'many_successful_features'), verbosity=3) runner.run() assert_stdout_lines( "\n" "Feature: First feature, of many # tests/functional/output_features/many_successful_features/one.feature:1\n" " In order to make lettuce more robust # tests/functional/output_features/many_successful_features/one.feature:2\n" " As a programmer # tests/functional/output_features/many_successful_features/one.feature:3\n" " I want to test its output on many features # tests/functional/output_features/many_successful_features/one.feature:4\n" "\n" " Scenario: Do nothing # tests/functional/output_features/many_successful_features/one.feature:6\n" " Given I do nothing # tests/functional/output_features/many_successful_features/dumb_steps.py:6\n" "\033[A Given I do nothing # tests/functional/output_features/many_successful_features/dumb_steps.py:6\n" " Then I see that the test passes # tests/functional/output_features/many_successful_features/dumb_steps.py:8\n" "\033[A Then I see that the test passes # tests/functional/output_features/many_successful_features/dumb_steps.py:8\n" "\n" "Feature: Second feature, of many # tests/functional/output_features/many_successful_features/two.feature:1\n" " I just want to see it green :) # tests/functional/output_features/many_successful_features/two.feature:2\n" "\n" " Scenario: Do nothing # tests/functional/output_features/many_successful_features/two.feature:4\n" " Given I do nothing # tests/functional/output_features/many_successful_features/dumb_steps.py:6\n" "\033[A Given I do nothing # tests/functional/output_features/many_successful_features/dumb_steps.py:6\n" " Then I see that the test passes # tests/functional/output_features/many_successful_features/dumb_steps.py:8\n" "\033[A Then I see that the test passes # tests/functional/output_features/many_successful_features/dumb_steps.py:8\n" "\n" "2 features (2 passed)\n" "2 scenarios (2 passed)\n" "4 steps (4 passed)\n" )
def test_output_snippets_with_groups_within_single_quotes_colorful(): "Testing that the proposed snippet is clever enough to identify groups within single quotes. colorful" runner = Runner(feature_name('single-quoted-snippet'), verbosity=4) runner.run() assert_stdout_lines( u'\n' u'\033[1;37mFeature: single-quoted snippet proposal \033[1;30m# tests/functional/output_features/single-quoted-snippet/single-quoted-snippet.feature:1\033[0m\n' u'\n' u'\033[1;37m Scenario: Propose matched groups \033[1;30m# tests/functional/output_features/single-quoted-snippet/single-quoted-snippet.feature:2\033[0m\n' u'\033[0;33m Given I have \'stuff here\' and \'more @#$%ˆ& bizar sutff h3r3\' \033[1;30m# tests/functional/output_features/single-quoted-snippet/single-quoted-snippet.feature:3\033[0m\n' u'\n' "\033[1;37m1 feature (\033[0;31m0 passed\033[1;37m)\033[0m\n" \ "\033[1;37m1 scenario (\033[0;31m0 passed\033[1;37m)\033[0m\n" \ "\033[1;37m1 step (\033[0;33m1 undefined\033[1;37m, \033[1;32m0 passed\033[1;37m)\033[0m\n" u'\n' u'\033[0;33mYou can implement step definitions for undefined steps with these snippets:\n' u'\n' u'from lettuce import step\n' u'\n' u'@step(r\'Given I have \\\'(.*)\\\' and \\\'(.*)\\\'\')\n' u'def given_i_have_group1_and_group2(step, group1, group2):\n' u' pass\033[0m\n' )
def test_output_snippets_with_groups_within_redundant_quotes(): "Testing that the proposed snippet is clever enough to avoid duplicating the same snippet" runner = Runner(feature_name('redundant-steps-quotes'), verbosity=3) runner.run() assert_stdout_lines( u'\n' u'Feature: avoid duplicating same snippet # tests/functional/output_features/redundant-steps-quotes/redundant-steps-quotes.feature:1\n' u'\n' u' Scenario: Propose matched groups # tests/functional/output_features/redundant-steps-quotes/redundant-steps-quotes.feature:2\n' u' Given I have "stuff here" and "more @#$%ˆ& bizar sutff h3r3" # tests/functional/output_features/redundant-steps-quotes/redundant-steps-quotes.feature:3 (undefined)\n' u' Given I have "blablabla" and "12345" # tests/functional/output_features/redundant-steps-quotes/redundant-steps-quotes.feature:4 (undefined)\n' u'\n' u'1 feature (0 passed)\n' u'1 scenario (0 passed)\n' u'2 steps (2 undefined, 0 passed)\n' u'\n' u'You can implement step definitions for undefined steps with these snippets:\n' u'\n' u'from lettuce import step\n' u'\n' u'@step(r\'Given I have "(.*)" and "(.*)"\')\n' u'def given_i_have_group1_and_group2(step, group1, group2):\n' u' pass\n' )
def test_output_snippets_with_groups_within_single_quotes_colorless(): "Testing that the proposed snippet is clever enough to identify groups within single quotes. colorless" runner = Runner(feature_name('single-quoted-snippet'), verbosity=3) runner.run() assert_stdout_lines( u'\n' u'Feature: single-quoted snippet proposal # tests/functional/output_features/single-quoted-snippet/single-quoted-snippet.feature:1\n' u'\n' u' Scenario: Propose matched groups # tests/functional/output_features/single-quoted-snippet/single-quoted-snippet.feature:2\n' u' Given I have \'stuff here\' and \'more @#$%ˆ& bizar sutff h3r3\' # tests/functional/output_features/single-quoted-snippet/single-quoted-snippet.feature:3 (undefined)\n' u'\n' u'1 feature (0 passed)\n' u'1 scenario (0 passed)\n' u'1 step (1 undefined, 0 passed)\n' u'\n' u'You can implement step definitions for undefined steps with these snippets:\n' u'\n' u'from lettuce import step\n' u'\n' u'@step(r\'Given I have \\\'(.*)\\\' and \\\'(.*)\\\'\')\n' u'def given_i_have_group1_and_group2(step, group1, group2):\n' u' pass\n' )
def test_output_outlines_success_colorless(): "Language: zh-TW -> sucess outlines colorless" runner = Runner(join_path('zh-TW', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "特性: 中文場景模板 # tests/functional/language_specific_features/zh-TW/success/outlines.feature:3\n" " 中文場景模板圖表測試 # tests/functional/language_specific_features/zh-TW/success/outlines.feature:4\n" "\n" " 場景模板: 用表格描述場景 # tests/functional/language_specific_features/zh-TW/success/outlines.feature:6\n" " 如果 輸入是<輸入> # tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:13\n" " 當 執行<處理>時 # tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:22\n" " 那麽 得到<結果> # tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:31\n" "\n" " 例如:\n" " | 輸入 | 處理 | 結果 |\n" " | 什麽 | 這個 | 功能 |\n" " | 其他 | 這裏 | 一樣 |\n" " | 數據 | 動作 | unicode輸出! |\n" "\n" "1 feature (1 passed)\n" "3 scenarios (3 passed)\n" "9 steps (9 passed)\n" )
def test_output_outlines_success_colorless(): "Language: fr -> sucess outlines colorless" runner = Runner(join_path('fr', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( '\n' 'Fonctionnalité: Plan de scénario en français # tests/functional/language_specific_features/fr/success/outlines.feature:4\n' ' En tant que programmeur # tests/functional/language_specific_features/fr/success/outlines.feature:5\n' ' Je veux tester les plans de scénario # tests/functional/language_specific_features/fr/success/outlines.feature:6\n' ' Et surtout les sorties # tests/functional/language_specific_features/fr/success/outlines.feature:7\n' '\n' ' Plan de Scénario: Faire la sieste # tests/functional/language_specific_features/fr/success/outlines.feature:9\n' ' Soit un après midi de <mois> # tests/functional/language_specific_features/fr/success/outlines_steps.py:13\n' ' Quand je veux faire la sieste # tests/functional/language_specific_features/fr/success/outlines_steps.py:22\n' ' Je peux aller <lieux> # tests/functional/language_specific_features/fr/success/outlines_steps.py:26\n' '\n' ' Exemples:\n' ' | mois | lieux |\n' ' | janvier | près de la cheminé |\n' ' | aôut | dans le transat |\n' ' | octobre | dans le canapé |\n' '\n' '1 feature (1 passed)\n' '3 scenarios (3 passed)\n' '9 steps (9 passed)\n' )
def test_output_outlines_success_colorful(): "Language: zh-TW -> sucess outlines colorful" runner = Runner(join_path('zh-TW', 'success', 'outlines.feature'), verbosity=4) runner.run() assert_stdout_lines( '\n' "\033[1;37m特性: 中文場景模板 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines.feature:3\033[0m\n" "\033[1;37m 中文場景模板圖表測試 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines.feature:4\033[0m\n" '\n' "\033[1;37m 場景模板: 用表格描述場景 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines.feature:6\033[0m\n" "\033[0;36m 如果 輸入是<輸入> \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:13\033[0m\n" "\033[0;36m 當 執行<處理>時 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:22\033[0m\n" "\033[0;36m 那麽 得到<結果> \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:31\033[0m\n" '\n' "\033[1;37m 例如:\033[0m\n" "\033[0;36m \033[1;37m |\033[0;36m 輸入\033[1;37m |\033[0;36m 處理\033[1;37m |\033[0;36m 結果 \033[1;37m |\033[0;36m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 什麽\033[1;37m |\033[1;32m 這個\033[1;37m |\033[1;32m 功能 \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 其他\033[1;37m |\033[1;32m 這裏\033[1;37m |\033[1;32m 一樣 \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 數據\033[1;37m |\033[1;32m 動作\033[1;37m |\033[1;32m unicode輸出!\033[1;37m |\033[1;32m\033[0m\n" '\n' "\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" "\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" "\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n" )
def test_output_outlines_success_colorful(): "Language: pt-br -> sucess outlines colorful" runner = Runner(join_path('pt-br', 'success', 'outlines.feature'), verbosity=4) runner.run() assert_stdout_lines( u'\n' u'\033[1;37mFuncionalidade: outlines em português \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines.feature:3\033[0m\n' u'\033[1;37m Como um programador \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines.feature:4\033[0m\n' u'\033[1;37m Eu quero testar cenários esquemáticos \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines.feature:5\033[0m\n' u'\033[1;37m Para ver o output em pt-br \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines.feature:6\033[0m\n' u'\n' u'\033[1;37m Esquema do Cenário: Fazer nada, repetidas vezes, através de esquemas \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines.feature:8\033[0m\n' u'\033[0;36m Dado que tenho o <dado1> \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines_steps.py:13\033[0m\n' u'\033[0;36m Quando eu faço algo com <isso> \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines_steps.py:22\033[0m\n' u'\033[0;36m Então eu fico feliz em ver <aquilo> \033[1;30m# tests/functional/language_specific_features/pt-br/success/outlines_steps.py:31\033[0m\n' u'\n' u'\033[1;37m Exemplos:\033[0m\n' u'\033[0;36m \033[1;37m |\033[0;36m dado1\033[1;37m |\033[0;36m isso \033[1;37m |\033[0;36m aquilo \033[1;37m |\033[0;36m\033[0m\n' u'\033[1;32m \033[1;37m |\033[1;32m algo \033[1;37m |\033[1;32m assim \033[1;37m |\033[1;32m funcional \033[1;37m |\033[1;32m\033[0m\n' u'\033[1;32m \033[1;37m |\033[1;32m outro\033[1;37m |\033[1;32m aqui \033[1;37m |\033[1;32m também \033[1;37m |\033[1;32m\033[0m\n' u'\033[1;32m \033[1;37m |\033[1;32m dados\033[1;37m |\033[1;32m funcionarão\033[1;37m |\033[1;32m com unicode !\033[1;37m |\033[1;32m\033[0m\n' u'\n' u"\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" \ u"\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" \ u"\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n" )
def test_output_outlines2_success_colorful(): "Language: fr -> sucess outlines colorful, alternate name" runner = Runner(join_path('fr', 'success', 'outlines2.feature'), verbosity=4) runner.run() assert_stdout_lines( '\n' '\033[1;37mFonctionnalité: Plan de scénario en français \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:4\033[0m\n' '\033[1;37m En tant que programmeur \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:5\033[0m\n' '\033[1;37m Je veux tester les plans de scénario \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:6\033[0m\n' '\033[1;37m Et surtout les sorties \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:7\033[0m\n' '\n' '\033[1;37m Plan de Scénario: Faire la sieste \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:9\033[0m\n' '\033[0;36m Soit un après midi de <mois> \033[1;30m# tests/functional/language_specific_features/fr/success/outlines_steps.py:13\033[0m\n' '\033[0;36m Quand je veux faire la sieste \033[1;30m# tests/functional/language_specific_features/fr/success/outlines_steps.py:22\033[0m\n' '\033[0;36m Je peux aller <lieux> \033[1;30m# tests/functional/language_specific_features/fr/success/outlines_steps.py:26\033[0m\n' '\n' '\033[1;37m Exemples:\033[0m\n' '\033[0;36m \033[1;37m |\033[0;36m mois \033[1;37m |\033[0;36m lieux \033[1;37m |\033[0;36m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m janvier\033[1;37m |\033[1;32m près de la cheminé\033[1;37m |\033[1;32m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m aôut \033[1;37m |\033[1;32m dans le transat \033[1;37m |\033[1;32m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m octobre\033[1;37m |\033[1;32m dans le canapé \033[1;37m |\033[1;32m\033[0m\n' '\n' '\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n' '\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n' '\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n')
def test_output_outlines_success_colorless(): "Language: zh-TW -> sucess outlines colorless" runner = Runner(join_path('zh-TW', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"特性: 中文場景模板 # tests/functional/language_specific_features/zh-TW/success/outlines.feature:3\n" u" 中文場景模板圖表測試 # tests/functional/language_specific_features/zh-TW/success/outlines.feature:4\n" u"\n" u" 場景模板: 用表格描述場景 # tests/functional/language_specific_features/zh-TW/success/outlines.feature:6\n" u" 如果 輸入是<輸入> # tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:13\n" u" 當 執行<處理>時 # tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:22\n" u" 那麽 得到<結果> # tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:31\n" u"\n" u" 例如:\n" u" | 輸入 | 處理 | 結果 |\n" u" | 什麽 | 這個 | 功能 |\n" u" | 其他 | 這裏 | 一樣 |\n" u" | 數據 | 動作 | unicode輸出! |\n" u"\n" u"1 feature (1 passed)\n" u"3 scenarios (3 passed)\n" u"9 steps (9 passed)\n")
def test_output_outlines_success_colorful(): "Language: zh-CN -> sucess outlines colorful" runner = Runner(join_path('zh-CN', 'success', 'outlines.feature'), verbosity=4) runner.run() assert_stdout_lines( u'\n' u"\033[1;37m特性: 中文场景模板 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines.feature:3\033[0m\n" u"\033[1;37m 中文场景模板图表测试 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines.feature:4\033[0m\n" u'\n' u"\033[1;37m 场景模板: 用表格描述场景 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines.feature:6\033[0m\n" u"\033[0;36m 如果 输入是<输入> \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:13\033[0m\n" u"\033[0;36m 当 执行<处理>时 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:22\033[0m\n" u"\033[0;36m 那么 得到<结果> \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:31\033[0m\n" u'\n' u"\033[1;37m 例如:\033[0m\n" u"\033[0;36m \033[1;37m |\033[0;36m 输入\033[1;37m |\033[0;36m 处理\033[1;37m |\033[0;36m 结果 \033[1;37m |\033[0;36m\033[0m\n" u"\033[1;32m \033[1;37m |\033[1;32m 什么\033[1;37m |\033[1;32m 这个\033[1;37m |\033[1;32m 功能 \033[1;37m |\033[1;32m\033[0m\n" u"\033[1;32m \033[1;37m |\033[1;32m 其他\033[1;37m |\033[1;32m 这里\033[1;37m |\033[1;32m 一样 \033[1;37m |\033[1;32m\033[0m\n" u"\033[1;32m \033[1;37m |\033[1;32m 数据\033[1;37m |\033[1;32m 动作\033[1;37m |\033[1;32m unicode输出!\033[1;37m |\033[1;32m\033[0m\n" u'\n' u"\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" u"\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" u"\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n")
def test_output_outlines_success_colorless(): "Language: fr -> sucess outlines colorless" runner = Runner(join_path('fr', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( '\n' 'Fonctionnalité: Plan de scénario en français # tests/functional/language_specific_features/fr/success/outlines.feature:4\n' ' En tant que programmeur # tests/functional/language_specific_features/fr/success/outlines.feature:5\n' ' Je veux tester les plans de scénario # tests/functional/language_specific_features/fr/success/outlines.feature:6\n' ' Et surtout les sorties # tests/functional/language_specific_features/fr/success/outlines.feature:7\n' '\n' ' Plan de Scénario: Faire la sieste # tests/functional/language_specific_features/fr/success/outlines.feature:9\n' ' Soit un après midi de <mois> # tests/functional/language_specific_features/fr/success/outlines_steps.py:13\n' ' Quand je veux faire la sieste # tests/functional/language_specific_features/fr/success/outlines_steps.py:22\n' ' Je peux aller <lieux> # tests/functional/language_specific_features/fr/success/outlines_steps.py:26\n' '\n' ' Exemples:\n' ' | mois | lieux |\n' ' | janvier | près de la cheminé |\n' ' | aôut | dans le transat |\n' ' | octobre | dans le canapé |\n' '\n' '1 feature (1 passed)\n' '3 scenarios (3 passed)\n' '9 steps (9 passed)\n')
def test_output_with_success_colorful_many_features(): "Testing the colorful output of many successful features" runner = Runner(join(abspath(dirname(__file__)), 'output_features', 'many_successful_features'), verbosity=4) runner.run() assert_stdout_lines( "\n" "\033[1;37mFeature: First feature, of many \033[1;30m# tests/functional/output_features/many_successful_features/one.feature:1\033[0m\n" "\033[1;37m In order to make lettuce more robust \033[1;30m# tests/functional/output_features/many_successful_features/one.feature:2\033[0m\n" "\033[1;37m As a programmer \033[1;30m# tests/functional/output_features/many_successful_features/one.feature:3\033[0m\n" "\033[1;37m I want to test its output on many features \033[1;30m# tests/functional/output_features/many_successful_features/one.feature:4\033[0m\n" "\n" "\033[1;37m Scenario: Do nothing \033[1;30m# tests/functional/output_features/many_successful_features/one.feature:6\033[0m\n" "\033[1;30m Given I do nothing \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:6\033[0m\n" "\033[A\033[1;32m Given I do nothing \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:6\033[0m\n" "\033[1;30m Then I see that the test passes \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:8\033[0m\n" "\033[A\033[1;32m Then I see that the test passes \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:8\033[0m\n" "\n" "\033[1;37mFeature: Second feature, of many \033[1;30m# tests/functional/output_features/many_successful_features/two.feature:1\033[0m\n" "\033[1;37m I just want to see it green :) \033[1;30m# tests/functional/output_features/many_successful_features/two.feature:2\033[0m\n" "\n" "\033[1;37m Scenario: Do nothing \033[1;30m# tests/functional/output_features/many_successful_features/two.feature:4\033[0m\n" "\033[1;30m Given I do nothing \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:6\033[0m\n" "\033[A\033[1;32m Given I do nothing \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:6\033[0m\n" "\033[1;30m Then I see that the test passes \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:8\033[0m\n" "\033[A\033[1;32m Then I see that the test passes \033[1;30m# tests/functional/output_features/many_successful_features/dumb_steps.py:8\033[0m\n" "\n" "\033[1;37m2 features (\033[1;32m2 passed\033[1;37m)\033[0m\n" \ "\033[1;37m2 scenarios (\033[1;32m2 passed\033[1;37m)\033[0m\n" \ "\033[1;37m4 steps (\033[1;32m4 passed\033[1;37m)\033[0m\n" )
def test_output_outlines_success_colorful(): "Language: ja -> sucess outlines colorful" runner = Runner(join_path('ja', 'success', 'outlines.feature'), verbosity=4) runner.run() assert_stdout_lines( '\n' "\033[1;37mフィーチャ: アウトラインを日本語で書く \033[1;30m# tests/functional/language_specific_features/ja/success/outlines.feature:3\033[0m\n" "\033[1;37m 図表のテストをパスすること \033[1;30m# tests/functional/language_specific_features/ja/success/outlines.feature:4\033[0m\n" '\n' "\033[1;37m シナリオアウトライン: 全てのテストで何もしない \033[1;30m# tests/functional/language_specific_features/ja/success/outlines.feature:6\033[0m\n" "\033[0;36m 前提 入力値を <データ1> とし \033[1;30m# tests/functional/language_specific_features/ja/success/outlines_steps.py:13\033[0m\n" "\033[0;36m もし 処理 <方法> を使って \033[1;30m# tests/functional/language_specific_features/ja/success/outlines_steps.py:22\033[0m\n" "\033[0;36m ならば 表示は <結果> である \033[1;30m# tests/functional/language_specific_features/ja/success/outlines_steps.py:31\033[0m\n" '\n' "\033[1;37m 例:\033[0m\n" "\033[0;36m \033[1;37m |\033[0;36m データ1\033[1;37m |\033[0;36m 方法\033[1;37m |\033[0;36m 結果 \033[1;37m |\033[0;36m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 何か \033[1;37m |\033[1;32m これ\033[1;37m |\033[1;32m 機能 \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m その他 \033[1;37m |\033[1;32m ここ\033[1;37m |\033[1;32m 同じ \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m データ \033[1;37m |\033[1;32m 動く\033[1;37m |\033[1;32m unicodeで!\033[1;37m |\033[1;32m\033[0m\n" '\n' "\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" "\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" "\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n")
def test_output_outlines2_success_colorful(): "Language: fr -> sucess outlines colorful, alternate name" runner = Runner(join_path('fr', 'success', 'outlines2.feature'), verbosity=4) runner.run() assert_stdout_lines( '\n' '\033[1;37mFonctionnalité: Plan de scénario en français \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:4\033[0m\n' '\033[1;37m En tant que programmeur \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:5\033[0m\n' '\033[1;37m Je veux tester les plans de scénario \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:6\033[0m\n' '\033[1;37m Et surtout les sorties \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:7\033[0m\n' '\n' '\033[1;37m Plan de Scénario: Faire la sieste \033[1;30m# tests/functional/language_specific_features/fr/success/outlines2.feature:9\033[0m\n' '\033[0;36m Soit un après midi de <mois> \033[1;30m# tests/functional/language_specific_features/fr/success/outlines_steps.py:13\033[0m\n' '\033[0;36m Quand je veux faire la sieste \033[1;30m# tests/functional/language_specific_features/fr/success/outlines_steps.py:22\033[0m\n' '\033[0;36m Je peux aller <lieux> \033[1;30m# tests/functional/language_specific_features/fr/success/outlines_steps.py:26\033[0m\n' '\n' '\033[1;37m Exemples:\033[0m\n' '\033[0;36m \033[1;37m |\033[0;36m mois \033[1;37m |\033[0;36m lieux \033[1;37m |\033[0;36m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m janvier\033[1;37m |\033[1;32m près de la cheminé\033[1;37m |\033[1;32m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m aôut \033[1;37m |\033[1;32m dans le transat \033[1;37m |\033[1;32m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m octobre\033[1;37m |\033[1;32m dans le canapé \033[1;37m |\033[1;32m\033[0m\n' '\n' '\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n' '\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n' '\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n' )
def test_output_of_table_with_success_colorless(): "Language: pt-br -> sucess table colorless" runner = Runner(join_path('pt-br', 'success', 'table.feature'), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"Funcionalidade: feature burra, com tabela # tests/functional/language_specific_features/pt-br/success/table.feature:3\n" u" Como um programador # tests/functional/language_specific_features/pt-br/success/table.feature:4\n" u" Eu quero testar steps com tabelas # tests/functional/language_specific_features/pt-br/success/table.feature:5\n" u" Para ver o output em pt-br # tests/functional/language_specific_features/pt-br/success/table.feature:6\n" u"\n" u" Cenário: Fazer nada, com tabelas :) # tests/functional/language_specific_features/pt-br/success/table.feature:8\n" u" Dado que eu brinco com os seguintes itens: # tests/functional/language_specific_features/pt-br/success/table_steps.py:6\n" u" | id | description |\n" u" | 12 | some desc |\n" u" | 64 | another desc |\n" u"\033[A\033[A\033[A\033[A Dado que eu brinco com os seguintes itens: # tests/functional/language_specific_features/pt-br/success/table_steps.py:6\n" u" | id | description |\n" u" | 12 | some desc |\n" u" | 64 | another desc |\n" u"\n" u"1 feature (1 passed)\n" u"1 scenario (1 passed)\n" u"1 step (1 passed)\n" )
def test_output_outlines_success_colorless(): "Language: zh-CN -> sucess outlines colorless" runner = Runner(join_path('zh-CN', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "特性: 中文场景模板 # tests/functional/language_specific_features/zh-CN/success/outlines.feature:3\n" " 中文场景模板图表测试 # tests/functional/language_specific_features/zh-CN/success/outlines.feature:4\n" "\n" " 场景模板: 用表格描述场景 # tests/functional/language_specific_features/zh-CN/success/outlines.feature:6\n" " 如果 输入是<输入> # tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:13\n" " 当 执行<处理>时 # tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:22\n" " 那么 得到<结果> # tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:31\n" "\n" " 例如:\n" " | 输入 | 处理 | 结果 |\n" " | 什么 | 这个 | 功能 |\n" " | 其他 | 这里 | 一样 |\n" " | 数据 | 动作 | unicode输出! |\n" "\n" "1 feature (1 passed)\n" "3 scenarios (3 passed)\n" "9 steps (9 passed)\n" )
def test_output_outlines_success_colorful(): "Language: ru -> sucess outlines colorful" runner = Runner(join_path("ru", "success", "outlines.feature"), verbosity=4) runner.run() assert_stdout_lines( "\n" "\x1b[1;37m\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b: \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:3\x1b[0m\n" "\x1b[1;37m \u041a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:4\x1b[0m\n" "\x1b[1;37m \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u043e\u0431\u044b lettuce \u0431\u044b\u043b \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:5\x1b[0m\n" "\x1b[1;37m \u042f \u0445\u043e\u0447\u0443, \u0447\u0442\u043e \u0431\u044b \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:6\x1b[0m\n" "\n" "\x1b[1;37m \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f: \u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines.feature:8\x1b[0m\n" '\x1b[0;36m \u041f\u0443\u0441\u043a\u0430\u0439 \u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 "http://sona-studio.com/contacts/" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:12\x1b[0m\n' '\x1b[0;36m \u041a\u043e\u0433\u0434\u0430 \u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e \u0432 \u043f\u043e\u043b\u0435 "\u0418\u043c\u044f" "<\u0438\u043c\u044f>" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:16\x1b[0m\n' '\x1b[0;36m \u0418 \u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e \u0432 \u043f\u043e\u043b\u0435 "Email" "<email>" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:24\x1b[0m\n' '\x1b[0;36m \u0418 \u044f \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e \u0432 \u043f\u043e\u043b\u0435 "\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435" "<\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435>" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:32\x1b[0m\n' '\x1b[0;36m \u0418 \u044f \u043d\u0430\u0436\u0438\u043c\u0430\u044e "\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:40\x1b[0m\n' '\x1b[0;36m \u0422\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 "\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u0430\u0448\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435" \x1b[1;30m# tests/functional/language_specific_features/ru/success/outlines_steps.py:43\x1b[0m\n' "\n" "\x1b[1;37m \u041f\u0440\u0438\u043c\u0435\u0440\u044b:\x1b[0m\n" "\x1b[0;36m \x1b[1;37m |\x1b[0;36m \u0438\u043c\u044f \x1b[1;37m |\x1b[0;36m email \x1b[1;37m |\x1b[0;36m \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \x1b[1;37m |\x1b[0;36m\x1b[0m\n" "\x1b[1;32m \x1b[1;37m |\x1b[1;32m \u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0418\u0433\u043e\u0440\u0435\u0432\u0438\u0447\x1b[1;37m |\x1b[1;32m [email protected]\x1b[1;37m |\x1b[1;32m \u0415\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c\x1b[1;37m |\x1b[1;32m\x1b[0m\n" "\x1b[1;32m \x1b[1;37m |\x1b[1;32m \u041c\u0430\u0440\u0438\u043d\u0430 \u0411\u0430\u043d\u0440\u0430\u0443\u043b \x1b[1;37m |\x1b[1;32m [email protected]\x1b[1;37m |\x1b[1;32m \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0432\u0430\u0448\u0438 \u0434\u0438\u0437\u0430\u0439\u043d\u044b, \u0445\u043e\u0447\u0443 \u0441\u0430\u0439\u0442 \x1b[1;37m |\x1b[1;32m\x1b[0m\n" "\n" "\x1b[1;37m1 feature (\x1b[1;32m1 passed\x1b[1;37m)\x1b[0m\n" "\x1b[1;37m2 scenarios (\x1b[1;32m2 passed\x1b[1;37m)\x1b[0m\n" "\x1b[1;37m12 steps (\x1b[1;32m12 passed\x1b[1;37m)\x1b[0m\n" )
def test_output_outlines_success_colorless(): "Language: ru -> sucess outlines colorless" runner = Runner(join_path("ru", "success", "outlines.feature"), verbosity=3) runner.run() assert_stdout_lines( "\n" "Функционал: Проверить вывод структурного сценария # tests/functional/language_specific_features/ru/success/outlines.feature:3\n" " Как программист # tests/functional/language_specific_features/ru/success/outlines.feature:4\n" " Для того чобы lettuce был надежным # tests/functional/language_specific_features/ru/success/outlines.feature:5\n" " Я хочу, что бы сценарии со структурой работали на русском # tests/functional/language_specific_features/ru/success/outlines.feature:6\n" "\n" " Структура сценария: Заполнить форму # tests/functional/language_specific_features/ru/success/outlines.feature:8\n" ' Пускай я открываю в браузере "http://sona-studio.com/contacts/" # tests/functional/language_specific_features/ru/success/outlines_steps.py:12\n' ' Когда я заполняю в поле "Имя" "<имя>" # tests/functional/language_specific_features/ru/success/outlines_steps.py:16\n' ' И я заполняю в поле "Email" "<email>" # tests/functional/language_specific_features/ru/success/outlines_steps.py:24\n' ' И я заполняю в поле "Сообщение" "<сообщение>" # tests/functional/language_specific_features/ru/success/outlines_steps.py:32\n' ' И я нажимаю "Отправить" # tests/functional/language_specific_features/ru/success/outlines_steps.py:40\n' ' Тогда я получаю сообщение "Спасибо за ваше сообщение" # tests/functional/language_specific_features/ru/success/outlines_steps.py:43\n' "\n" " Примеры:\n" " | имя | email | сообщение |\n" " | Виталий Игоревич | [email protected] | Есть интересный проект, нужно обсудить |\n" " | Марина Банраул | [email protected] | Мне нравятся ваши дизайны, хочу сайт |\n" "\n" "1 feature (1 passed)\n" "2 scenarios (2 passed)\n" "12 steps (12 passed)\n" )
def test_output_outlines_success_colorless(): "Language: ja -> sucess outlines colorless" runner = Runner(join_path('ja', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "フィーチャ: アウトラインを日本語で書く # tests/functional/language_specific_features/ja/success/outlines.feature:3\n" " 図表のテストをパスすること # tests/functional/language_specific_features/ja/success/outlines.feature:4\n" "\n" " シナリオアウトライン: 全てのテストで何もしない # tests/functional/language_specific_features/ja/success/outlines.feature:6\n" " 前提 入力値を <データ1> とし # tests/functional/language_specific_features/ja/success/outlines_steps.py:13\n" " もし 処理 <方法> を使って # tests/functional/language_specific_features/ja/success/outlines_steps.py:22\n" " ならば 表示は <結果> である # tests/functional/language_specific_features/ja/success/outlines_steps.py:31\n" "\n" " 例:\n" " | データ1 | 方法 | 結果 |\n" " | 何か | これ | 機能 |\n" " | その他 | ここ | 同じ |\n" " | データ | 動く | unicodeで! |\n" "\n" "1 feature (1 passed)\n" "3 scenarios (3 passed)\n" "9 steps (9 passed)\n")
def test_output_outlines_success_colorful(): "Language: ja -> sucess outlines colorful" runner = Runner(join_path('ja', 'success', 'outlines.feature'), verbosity=4) runner.run() assert_stdout_lines( '\n' "\033[1;37mフィーチャ: アウトラインを日本語で書く \033[1;30m# tests/functional/language_specific_features/ja/success/outlines.feature:3\033[0m\n" "\033[1;37m 図表のテストをパスすること \033[1;30m# tests/functional/language_specific_features/ja/success/outlines.feature:4\033[0m\n" '\n' "\033[1;37m シナリオアウトライン: 全てのテストで何もしない \033[1;30m# tests/functional/language_specific_features/ja/success/outlines.feature:6\033[0m\n" "\033[0;36m 前提 入力値を <データ1> とし \033[1;30m# tests/functional/language_specific_features/ja/success/outlines_steps.py:13\033[0m\n" "\033[0;36m もし 処理 <方法> を使って \033[1;30m# tests/functional/language_specific_features/ja/success/outlines_steps.py:22\033[0m\n" "\033[0;36m ならば 表示は <結果> である \033[1;30m# tests/functional/language_specific_features/ja/success/outlines_steps.py:31\033[0m\n" '\n' "\033[1;37m 例:\033[0m\n" "\033[0;36m \033[1;37m |\033[0;36m データ1\033[1;37m |\033[0;36m 方法\033[1;37m |\033[0;36m 結果 \033[1;37m |\033[0;36m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 何か \033[1;37m |\033[1;32m これ\033[1;37m |\033[1;32m 機能 \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m その他 \033[1;37m |\033[1;32m ここ\033[1;37m |\033[1;32m 同じ \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m データ \033[1;37m |\033[1;32m 動く\033[1;37m |\033[1;32m unicodeで!\033[1;37m |\033[1;32m\033[0m\n" '\n' "\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" "\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" "\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n" )
def test_output_outlines_success_colorless(): "Language: ja -> sucess outlines colorless" runner = Runner(join_path('ja', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "フィーチャ: アウトラインを日本語で書く # tests/functional/language_specific_features/ja/success/outlines.feature:3\n" " 図表のテストをパスすること # tests/functional/language_specific_features/ja/success/outlines.feature:4\n" "\n" " シナリオアウトライン: 全てのテストで何もしない # tests/functional/language_specific_features/ja/success/outlines.feature:6\n" " 前提 入力値を <データ1> とし # tests/functional/language_specific_features/ja/success/outlines_steps.py:13\n" " もし 処理 <方法> を使って # tests/functional/language_specific_features/ja/success/outlines_steps.py:22\n" " ならば 表示は <結果> である # tests/functional/language_specific_features/ja/success/outlines_steps.py:31\n" "\n" " 例:\n" " | データ1 | 方法 | 結果 |\n" " | 何か | これ | 機能 |\n" " | その他 | ここ | 同じ |\n" " | データ | 動く | unicodeで! |\n" "\n" "1 feature (1 passed)\n" "3 scenarios (3 passed)\n" "9 steps (9 passed)\n" )
def test_output_outlines_success_colorful(): "Language: zh-CN -> sucess outlines colorful" runner = Runner(join_path('zh-CN', 'success', 'outlines.feature'), verbosity=4) runner.run() assert_stdout_lines( '\n' "\033[1;37m特性: 中文场景模板 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines.feature:3\033[0m\n" "\033[1;37m 中文场景模板图表测试 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines.feature:4\033[0m\n" '\n' "\033[1;37m 场景模板: 用表格描述场景 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines.feature:6\033[0m\n" "\033[0;36m 如果 输入是<输入> \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:13\033[0m\n" "\033[0;36m 当 执行<处理>时 \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:22\033[0m\n" "\033[0;36m 那么 得到<结果> \033[1;30m# tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:31\033[0m\n" '\n' "\033[1;37m 例如:\033[0m\n" "\033[0;36m \033[1;37m |\033[0;36m 输入\033[1;37m |\033[0;36m 处理\033[1;37m |\033[0;36m 结果 \033[1;37m |\033[0;36m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 什么\033[1;37m |\033[1;32m 这个\033[1;37m |\033[1;32m 功能 \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 其他\033[1;37m |\033[1;32m 这里\033[1;37m |\033[1;32m 一样 \033[1;37m |\033[1;32m\033[0m\n" "\033[1;32m \033[1;37m |\033[1;32m 数据\033[1;37m |\033[1;32m 动作\033[1;37m |\033[1;32m unicode输出!\033[1;37m |\033[1;32m\033[0m\n" '\n' "\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" "\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" "\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n" )
def test_output_outlines_success_colorless(): "Language: pt-br -> sucess outlines colorless" runner = Runner(join_path('pt-br', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( u'\n' u'Funcionalidade: outlines em português # tests/functional/language_specific_features/pt-br/success/outlines.feature:3\n' u' Como um programador # tests/functional/language_specific_features/pt-br/success/outlines.feature:4\n' u' Eu quero testar cenários esquemáticos # tests/functional/language_specific_features/pt-br/success/outlines.feature:5\n' u' Para ver o output em pt-br # tests/functional/language_specific_features/pt-br/success/outlines.feature:6\n' u'\n' u' Esquema do Cenário: Fazer nada, repetidas vezes, através de esquemas # tests/functional/language_specific_features/pt-br/success/outlines.feature:8\n' u' Dado que tenho o <dado1> # tests/functional/language_specific_features/pt-br/success/outlines_steps.py:13\n' u' Quando eu faço algo com <isso> # tests/functional/language_specific_features/pt-br/success/outlines_steps.py:22\n' u' Então eu fico feliz em ver <aquilo> # tests/functional/language_specific_features/pt-br/success/outlines_steps.py:31\n' u'\n' u' Exemplos:\n' u' | dado1 | isso | aquilo |\n' u' | algo | assim | funcional |\n' u' | outro | aqui | também |\n' u' | dados | funcionarão | com unicode ! |\n' u'\n' u'1 feature (1 passed)\n' u'3 scenarios (3 passed)\n' u'9 steps (9 passed)\n' )
def test_output_outlines_success_colorless(): "Language: zh-CN -> sucess outlines colorless" runner = Runner(join_path('zh-CN', 'success', 'outlines.feature'), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"特性: 中文场景模板 # tests/functional/language_specific_features/zh-CN/success/outlines.feature:3\n" u" 中文场景模板图表测试 # tests/functional/language_specific_features/zh-CN/success/outlines.feature:4\n" u"\n" u" 场景模板: 用表格描述场景 # tests/functional/language_specific_features/zh-CN/success/outlines.feature:6\n" u" 如果 输入是<输入> # tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:13\n" u" 当 执行<处理>时 # tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:22\n" u" 那么 得到<结果> # tests/functional/language_specific_features/zh-CN/success/outlines_steps.py:31\n" u"\n" u" 例如:\n" u" | 输入 | 处理 | 结果 |\n" u" | 什么 | 这个 | 功能 |\n" u" | 其他 | 这里 | 一样 |\n" u" | 数据 | 动作 | unicode输出! |\n" u"\n" u"1 feature (1 passed)\n" u"3 scenarios (3 passed)\n" u"9 steps (9 passed)\n")
def test_output_outlines_success_colorful(): "Language: zh-TW -> sucess outlines colorful" runner = Runner(join_path('zh-TW', 'success', 'outlines.feature'), verbosity=4) runner.run() assert_stdout_lines( u'\n' u"\033[1;37m特性: 中文場景模板 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines.feature:3\033[0m\n" u"\033[1;37m 中文場景模板圖表測試 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines.feature:4\033[0m\n" u'\n' u"\033[1;37m 場景模板: 用表格描述場景 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines.feature:6\033[0m\n" u"\033[0;36m 如果 輸入是<輸入> \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:13\033[0m\n" u"\033[0;36m 當 執行<處理>時 \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:22\033[0m\n" u"\033[0;36m 那麽 得到<結果> \033[1;30m# tests/functional/language_specific_features/zh-TW/success/outlines_steps.py:31\033[0m\n" u'\n' u"\033[1;37m 例如:\033[0m\n" u"\033[0;36m \033[1;37m |\033[0;36m 輸入\033[1;37m |\033[0;36m 處理\033[1;37m |\033[0;36m 結果 \033[1;37m |\033[0;36m\033[0m\n" u"\033[1;32m \033[1;37m |\033[1;32m 什麽\033[1;37m |\033[1;32m 這個\033[1;37m |\033[1;32m 功能 \033[1;37m |\033[1;32m\033[0m\n" u"\033[1;32m \033[1;37m |\033[1;32m 其他\033[1;37m |\033[1;32m 這裏\033[1;37m |\033[1;32m 一樣 \033[1;37m |\033[1;32m\033[0m\n" u"\033[1;32m \033[1;37m |\033[1;32m 數據\033[1;37m |\033[1;32m 動作\033[1;37m |\033[1;32m unicode輸出!\033[1;37m |\033[1;32m\033[0m\n" u'\n' u"\033[1;37m1 feature (\033[1;32m1 passed\033[1;37m)\033[0m\n" u"\033[1;37m3 scenarios (\033[1;32m3 passed\033[1;37m)\033[0m\n" u"\033[1;37m9 steps (\033[1;32m9 passed\033[1;37m)\033[0m\n")
def test_output_when_could_not_find_features_colorless(): "Testing the colorful output of many successful features colorless" path = fs.relpath(join(abspath(dirname(__file__)), 'unexistent-folder')) runner = Runner(path, verbosity=3) runner.run() assert_stdout_lines( 'Oops!\n' 'could not find features at ./%s\n' % path )
def test_simple_tables_behave_as_feature(): "Basic step.behave_as behaviour is working" Runner(path_to_feature('2nd_table_steps'), verbosity=3).run() if platform.system() != "Windows": assert_stdout_lines( "\n" "Feature: Multiplication # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:2\n" " In order to avoid silly mistakes # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:3\n" " Cashiers must be able to multiplicate numbers :) # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:4\n" "\n" " Scenario: Regular numbers # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:6\n" " Given I multiply these numbers: # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:31\n" " | number |\n" " | 55 |\n" " | 2 |\n" " Then the result should be 110 on the screen # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:19\n" "\n" " Scenario: Shorter version of the scenario above # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:13\n" " Given I multiply 55 and 2 into the calculator # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:23\n" " Then the result should be 110 on the screen # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:19\n" "\n" "1 feature (1 passed)\n" "2 scenarios (2 passed)\n" "4 steps (4 passed)\n" ) else: assert_stdout_lines( "\n" "Feature: Multiplication # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:2\n" " In order to avoid silly mistakes # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:3\n" " Cashiers must be able to multiplicate numbers :) # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:4\n" "\n" " Scenario: Regular numbers # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:6\n" " Given I multiply these numbers: # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:32\n" " | number |\n" " | 55 |\n" " | 2 |\n" " Then the result should be 110 on the screen # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:20\n" "\n" " Scenario: Shorter version of the scenario above # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:13\n" " Given I multiply 55 and 2 into the calculator # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:24\n" " Then the result should be 110 on the screen # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:20\n" "\n" "1 feature (1 passed)\n" "2 scenarios (2 passed)\n" "4 steps (4 passed)\n" )
def test_output_with_success_colorless(): "Language: zh-CN -> sucess colorless" runner = Runner(join_path('zh-CN', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "特性: 简单测试 # tests/functional/language_specific_features/zh-CN/success/dumb.feature:3\n" " 什么都不做应该运行成功 # tests/functional/language_specific_features/zh-CN/success/dumb.feature:4\n" "\n" " 场景: 什么都不做 # tests/functional/language_specific_features/zh-CN/success/dumb.feature:6\n" " 如果 什么都不做 # tests/functional/language_specific_features/zh-CN/success/dumb_steps.py:6\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n")
def test_simple_behave_as_feature(): "Basic step.behave_as behaviour is working" Runner(path_to_feature('1st_normal_steps'), verbosity=3).run() if platform.system() != "Windows": assert_stdout_lines( "\n" "Feature: Multiplication # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:2\n" " In order to avoid silly mistakes # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:3\n" " Cashiers must be able to multiplicate numbers :) # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:4\n" "\n" " Scenario: Regular numbers # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:6\n" " Given I have entered 10 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:11\n" " And I have entered 4 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:11\n" " When I press multiply # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:15\n" " Then the result should be 40 on the screen # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:19\n" "\n" " Scenario: Shorter version of the scenario above # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:12\n" " Given I multiply 10 and 4 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:23\n" " Then the result should be 40 on the screen # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:19\n" "\n" "1 feature (1 passed)\n" "2 scenarios (2 passed)\n" "6 steps (6 passed)\n" ) else: assert_stdout_lines( "\n" "Feature: Multiplication # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:2\n" " In order to avoid silly mistakes # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:3\n" " Cashiers must be able to multiplicate numbers :) # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:4\n" "\n" " Scenario: Regular numbers # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:6\n" " Given I have entered 10 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:12\n" " And I have entered 4 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:12\n" " When I press multiply # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:16\n" " Then the result should be 40 on the screen # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:20\n" "\n" " Scenario: Shorter version of the scenario above # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:12\n" " Given I multiply 10 and 4 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:24\n" " Then the result should be 40 on the screen # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:20\n" "\n" "1 feature (1 passed)\n" "2 scenarios (2 passed)\n" "6 steps (6 passed)\n" )
def test_output_with_success_colorless(): "Language: zh-TW -> sucess colorless" runner = Runner(join_path('zh-TW', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"特性: 簡單測試 # tests/functional/language_specific_features/zh-TW/success/dumb.feature:3\n" u" 什麽都不做應該運行成功 # tests/functional/language_specific_features/zh-TW/success/dumb.feature:4\n" u"\n" u" 場景: 什麽都不做 # tests/functional/language_specific_features/zh-TW/success/dumb.feature:6\n" u" 如果 什麽都不做 # tests/functional/language_specific_features/zh-TW/success/dumb_steps.py:6\n" u"\n" u"1 feature (1 passed)\n" u"1 scenario (1 passed)\n" u"1 step (1 passed)\n")
def test_output_with_success_colorless(): "Language: ja -> sucess colorless" runner = Runner(join_path('ja', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "フィーチャ: ダムフィーチャ # tests/functional/language_specific_features/ja/success/dumb.feature:3\n" " テストをグリーンになればテスト成功 # tests/functional/language_specific_features/ja/success/dumb.feature:4\n" "\n" " シナリオ: 何もしない # tests/functional/language_specific_features/ja/success/dumb.feature:6\n" " 前提 何もしない # tests/functional/language_specific_features/ja/success/dumb_steps.py:6\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n")
def test_output_with_success_colorless(): "Language: ja -> sucess colorless" runner = Runner(join_path('ja', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "フィーチャ: ダムフィーチャ # tests/functional/language_specific_features/ja/success/dumb.feature:3\n" " テストをグリーンになればテスト成功 # tests/functional/language_specific_features/ja/success/dumb.feature:4\n" "\n" " シナリオ: 何もしない # tests/functional/language_specific_features/ja/success/dumb.feature:6\n" " 前提 何もしない # tests/functional/language_specific_features/ja/success/dumb_steps.py:6\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n" )
def test_output_with_success_colorless(): "Language: zh-CN -> sucess colorless" runner = Runner(join_path("zh-CN", "success", "dumb.feature"), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"特性: 简单测试 # tests/functional/language_specific_features/zh-CN/success/dumb.feature:3\n" u" 什么都不做应该运行成功 # tests/functional/language_specific_features/zh-CN/success/dumb.feature:4\n" u"\n" u" 场景: 什么都不做 # tests/functional/language_specific_features/zh-CN/success/dumb.feature:6\n" u" 如果 什么都不做 # tests/functional/language_specific_features/zh-CN/success/dumb_steps.py:6\n" u"\n" u"1 feature (1 passed)\n" u"1 scenario (1 passed)\n" u"1 step (1 passed)\n" )
def test_output_with_success_colorless(): "Language: fr -> sucess colorless" runner = Runner(join_path('fr', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "Fonctionnalité: Test complet # tests/functional/language_specific_features/fr/success/dumb.feature:3\n" " En tant que programmeur # tests/functional/language_specific_features/fr/success/dumb.feature:4\n" " Je veux valider les tests # tests/functional/language_specific_features/fr/success/dumb.feature:5\n" "\n" " Scénario: On ne fait rien # tests/functional/language_specific_features/fr/success/dumb.feature:7\n" " Quand je ne fait rien # tests/functional/language_specific_features/fr/success/dumb_steps.py:6\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n")
def test_output_with_success_colorless(): "Language: zh-TW -> sucess colorless" runner = Runner(join_path('zh-TW', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "特性: 簡單測試 # tests/functional/language_specific_features/zh-TW/success/dumb.feature:3\n" " 什麽都不做應該運行成功 # tests/functional/language_specific_features/zh-TW/success/dumb.feature:4\n" "\n" " 場景: 什麽都不做 # tests/functional/language_specific_features/zh-TW/success/dumb.feature:6\n" " 如果 什麽都不做 # tests/functional/language_specific_features/zh-TW/success/dumb_steps.py:6\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n" )
def test_output_with_failed_colorful_with_table(): "Testing the colorful output of failed with table" runner = Runner(feature_name('failed_table'), verbosity=4) runner.run() assert_stdout_lines( "\n" "\033[1;37mFeature: Table Fail \033[1;30m# tests/functional/output_features/failed_table/failed_table.feature:1\033[0m\n" "\n" "\033[1;37m Scenario: See it fail \033[1;30m# tests/functional/output_features/failed_table/failed_table.feature:2\033[0m\n" "\033[1;30m Given I have a dumb step that passes \033[1;30m# tests/functional/output_features/failed_table/failed_table_steps.py:20\033[0m\n" "\033[A\033[1;32m Given I have a dumb step that passes \033[1;30m# tests/functional/output_features/failed_table/failed_table_steps.py:20\033[0m\n" "\033[1;30m And this one fails \033[1;30m# tests/functional/output_features/failed_table/failed_table_steps.py:24\033[0m\n" "\033[A\033[0;31m And this one fails \033[1;41;33m# tests/functional/output_features/failed_table/failed_table_steps.py:24\033[0m\n" "\033[1;31m Traceback (most recent call last):\n" ' File "%(lettuce_core_file)s", line %(call_line)d, in __call__\n' " ret = self.function(self.step, *args, **kw)\n" ' File "%(step_file)s", line 25, in tof\n' " assert False\n" " AssertionError\033[0m\n" "\033[1;30m Then this one will be skipped \033[1;30m# tests/functional/output_features/failed_table/failed_table_steps.py:28\033[0m\n" "\033[A\033[0;36m Then this one will be skipped \033[1;30m# tests/functional/output_features/failed_table/failed_table_steps.py:28\033[0m\n" "\033[1;30m And this one will be skipped \033[1;30m# tests/functional/output_features/failed_table/failed_table_steps.py:28\033[0m\n" "\033[A\033[0;36m And this one will be skipped \033[1;30m# tests/functional/output_features/failed_table/failed_table_steps.py:28\033[0m\n" "\033[0;33m And this one does not even has definition \033[1;30m# tests/functional/output_features/failed_table/failed_table.feature:12\033[0m\n" "\n" "\033[1;37m1 feature (\033[0;31m0 passed\033[1;37m)\033[0m\n" "\033[1;37m1 scenario (\033[0;31m0 passed\033[1;37m)\033[0m\n" "\033[1;37m5 steps (\033[0;31m1 failed\033[1;37m, \033[0;36m2 skipped\033[1;37m, \033[0;33m1 undefined\033[1;37m, \033[1;32m1 passed\033[1;37m)\033[0m\n" "\n" "\033[0;33mYou can implement step definitions for undefined steps with these snippets:\n" "\n" "from lettuce import step\n" "\n" "@step(r'And this one does not even has definition')\n" "def and_this_one_does_not_even_has_definition(step):\n" " pass\033[0m" "\n" % { 'lettuce_core_file': lettuce_path('core.py'), 'step_file': lettuce_path('..', 'tests', 'functional', 'output_features', 'failed_table', 'failed_table_steps.py'), 'call_line':call_line, } )
def test_output_with_success_colorless(): "Language: fr -> sucess colorless" runner = Runner(join_path('fr', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "Fonctionnalité: Test complet # tests/functional/language_specific_features/fr/success/dumb.feature:3\n" " En tant que programmeur # tests/functional/language_specific_features/fr/success/dumb.feature:4\n" " Je veux valider les tests # tests/functional/language_specific_features/fr/success/dumb.feature:5\n" "\n" " Scénario: On ne fait rien # tests/functional/language_specific_features/fr/success/dumb.feature:7\n" " Quand je ne fait rien # tests/functional/language_specific_features/fr/success/dumb_steps.py:6\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n" )
def test_output_with_failful_outline_colorful(): "Testing the colorful output of a scenario outline" runner = Runner(feature_name('fail_outline'), verbosity=4) runner.run() assert_stdout_lines( '\n' '\033[1;37mFeature: Failful Scenario Outline \033[1;30m# tests/functional/output_features/fail_outline/fail_outline.feature:1\033[0m\n' '\033[1;37m As lettuce author \033[1;30m# tests/functional/output_features/fail_outline/fail_outline.feature:2\033[0m\n' '\033[1;37m In order to finish the first release \033[1;30m# tests/functional/output_features/fail_outline/fail_outline.feature:3\033[0m\n' '\033[1;37m I want to make scenario outlines work :) \033[1;30m# tests/functional/output_features/fail_outline/fail_outline.feature:4\033[0m\n' '\n' '\033[1;37m Scenario Outline: fill a web form \033[1;30m# tests/functional/output_features/fail_outline/fail_outline.feature:6\033[0m\n' '\033[0;36m Given I open browser at "http://www.my-website.com/" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:21\033[0m\n' '\033[0;36m And click on "sign-up" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:25\033[0m\n' '\033[0;36m When I fill the field "username" with "<username>" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:29\033[0m\n' '\033[0;36m And I fill the field "password" with "<password>" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:29\033[0m\n' '\033[0;36m And I fill the field "password-confirm" with "<password>" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:29\033[0m\n' '\033[0;36m And I fill the field "email" with "<email>" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:29\033[0m\n' '\033[0;36m And I click "done" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:33\033[0m\n' '\033[0;36m Then I see the message "<message>" \033[1;30m# tests/functional/output_features/fail_outline/fail_outline_steps.py:37\033[0m\n' '\n' '\033[1;37m Examples:\033[0m\n' '\033[0;36m \033[1;37m |\033[0;36m username\033[1;37m |\033[0;36m password\033[1;37m |\033[0;36m email \033[1;37m |\033[0;36m message \033[1;37m |\033[0;36m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m john \033[1;37m |\033[1;32m doe-1234\033[1;37m |\033[1;32m [email protected]\033[1;37m |\033[1;32m Welcome, John\033[1;37m |\033[1;32m\033[0m\n' '\033[1;32m \033[1;37m |\033[1;32m mary \033[1;37m |\033[1;32m wee-9876\033[1;37m |\033[1;32m [email protected]\033[1;37m |\033[1;32m Welcome, Mary\033[1;37m |\033[1;32m\033[0m\n' "\033[1;31m Traceback (most recent call last):\n" ' File "%(lettuce_core_file)s", line %(call_line)d, in __call__\n' " ret = self.function(self.step, *args, **kw)\n" ' File "%(step_file)s", line 30, in when_i_fill_the_field_x_with_y\n' " if field == 'password' and value == 'wee-9876': assert False\n" " AssertionError\033[0m\n" '\033[1;32m \033[1;37m |\033[1;32m foo \033[1;37m |\033[1;32m foo-bar \033[1;37m |\033[1;32m [email protected] \033[1;37m |\033[1;32m Welcome, Foo \033[1;37m |\033[1;32m\033[0m\n' '\n' "\033[1;37m1 feature (\033[0;31m0 passed\033[1;37m)\033[0m\n" \ "\033[1;37m3 scenarios (\033[1;32m2 passed\033[1;37m)\033[0m\n" \ "\033[1;37m24 steps (\033[0;31m1 failed\033[1;37m, \033[0;36m4 skipped\033[1;37m, \033[1;32m19 passed\033[1;37m)\033[0m\n" % { 'lettuce_core_file': lettuce_path('core.py'), 'step_file': lettuce_path('..', 'tests', 'functional', 'output_features', 'fail_outline', 'fail_outline_steps.py'), 'call_line':call_line, } )
def test_output_with_failful_outline_colorless(): "Testing the colorless output of a scenario outline" runner = Runner(feature_name('fail_outline'), verbosity=3) runner.run() assert_stdout_lines( '\n' 'Feature: Failful Scenario Outline # tests/functional/output_features/fail_outline/fail_outline.feature:1\n' ' As lettuce author # tests/functional/output_features/fail_outline/fail_outline.feature:2\n' ' In order to finish the first release # tests/functional/output_features/fail_outline/fail_outline.feature:3\n' ' I want to make scenario outlines work :) # tests/functional/output_features/fail_outline/fail_outline.feature:4\n' '\n' ' Scenario Outline: fill a web form # tests/functional/output_features/fail_outline/fail_outline.feature:6\n' ' Given I open browser at "http://www.my-website.com/" # tests/functional/output_features/fail_outline/fail_outline_steps.py:21\n' ' And click on "sign-up" # tests/functional/output_features/fail_outline/fail_outline_steps.py:25\n' ' When I fill the field "username" with "<username>" # tests/functional/output_features/fail_outline/fail_outline_steps.py:29\n' ' And I fill the field "password" with "<password>" # tests/functional/output_features/fail_outline/fail_outline_steps.py:29\n' ' And I fill the field "password-confirm" with "<password>" # tests/functional/output_features/fail_outline/fail_outline_steps.py:29\n' ' And I fill the field "email" with "<email>" # tests/functional/output_features/fail_outline/fail_outline_steps.py:29\n' ' And I click "done" # tests/functional/output_features/fail_outline/fail_outline_steps.py:33\n' ' Then I see the message "<message>" # tests/functional/output_features/fail_outline/fail_outline_steps.py:37\n' '\n' ' Examples:\n' ' | username | password | email | message |\n' ' | john | doe-1234 | [email protected] | Welcome, John |\n' ' | mary | wee-9876 | [email protected] | Welcome, Mary |\n' " Traceback (most recent call last):\n" ' File "%(lettuce_core_file)s", line %(call_line)d, in __call__\n' " ret = self.function(self.step, *args, **kw)\n" ' File "%(step_file)s", line 30, in when_i_fill_the_field_x_with_y\n' " if field == 'password' and value == 'wee-9876': assert False\n" " AssertionError\n" ' | foo | foo-bar | [email protected] | Welcome, Foo |\n' '\n' '1 feature (0 passed)\n' '3 scenarios (2 passed)\n' '24 steps (1 failed, 4 skipped, 19 passed)\n' % { 'lettuce_core_file': lettuce_path('core.py'), 'step_file': lettuce_path('..', 'tests', 'functional', 'output_features', 'fail_outline', 'fail_outline_steps.py'), 'call_line':call_line, } )
def test_output_with_success_colorless(): "Language: pt-br -> sucess colorless" runner = Runner(join_path('pt-br', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"Funcionalidade: feature burra # tests/functional/language_specific_features/pt-br/success/dumb.feature:3\n" u" Como um programador # tests/functional/language_specific_features/pt-br/success/dumb.feature:4\n" u" Eu quero que este teste passe # tests/functional/language_specific_features/pt-br/success/dumb.feature:5\n" u" Para testar um cenário de sucesso # tests/functional/language_specific_features/pt-br/success/dumb.feature:6\n" u"\n" u" Cenário: Fazer nada # tests/functional/language_specific_features/pt-br/success/dumb.feature:8\n" u" Dado que eu faço nada # tests/functional/language_specific_features/pt-br/success/dumb_steps.py:6\n" u"\n" u"1 feature (1 passed)\n" u"1 scenario (1 passed)\n" u"1 step (1 passed)\n")
def test_output_of_table_with_success_colorless(): "Language: ja -> sucess table colorless" runner = Runner(join_path('ja', 'success', 'table.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "フィーチャ: テーブル記法 # tests/functional/language_specific_features/ja/success/table.feature:3\n" " 日本語でのテーブル記法がパスするかのテスト # tests/functional/language_specific_features/ja/success/table.feature:4\n" "\n" " シナリオ: 何もしないテーブル # tests/functional/language_specific_features/ja/success/table.feature:6\n" " 前提 データは以下: # tests/functional/language_specific_features/ja/success/table_steps.py:6\n" " | id | 定義 |\n" " | 12 | 何かの定義 |\n" " | 64 | 別の定義 |\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n")
def test_output_with_success_colorless(): "Language: ru -> sucess colorless" runner = Runner(join_path('ru', 'success', 'dumb.feature'), verbosity=3) runner.run() assert_stdout_lines( '\n' 'Функционал: тупая фича # tests/functional/language_specific_features/ru/success/dumb.feature:3\n' ' Чтобы lettuce был более надежным # tests/functional/language_specific_features/ru/success/dumb.feature:4\n' ' Как программист # tests/functional/language_specific_features/ru/success/dumb.feature:5\n' ' Я хочу что бы тест был зеленый # tests/functional/language_specific_features/ru/success/dumb.feature:6\n' '\n' ' Сценарий: Ничего не делать # tests/functional/language_specific_features/ru/success/dumb.feature:8\n' ' Пуская я ничего не делаю # tests/functional/language_specific_features/ru/success/dumb_steps.py:6\n' ' Тогда я вижу что тест выполняется # tests/functional/language_specific_features/ru/success/dumb_steps.py:10\n' '\n' '1 feature (1 passed)\n' '1 scenario (1 passed)\n' '2 steps (2 passed)\n')
def test_output_of_table_with_success_colorless(): "Language: zh-CN -> sucess table colorless" runner = Runner(join_path('zh-CN', 'success', 'table.feature'), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"特性: 步骤中包含表格 # tests/functional/language_specific_features/zh-CN/success/table.feature:3\n" u" 简体中文表格步骤的成功测试 # tests/functional/language_specific_features/zh-CN/success/table.feature:4\n" u"\n" u" 场景: 什么都不做的表格步骤测试 # tests/functional/language_specific_features/zh-CN/success/table.feature:6\n" u" 如果 输入数据如下: # tests/functional/language_specific_features/zh-CN/success/table_steps.py:6\n" u" | id | 名称 |\n" u" | 12 | 名称一 |\n" u" | 64 | 名称二 |\n" u"\n" u"1 feature (1 passed)\n" u"1 scenario (1 passed)\n" u"1 step (1 passed)\n")
def test_output_of_table_with_success_colorless(): "Language: zh-TW -> sucess table colorless" runner = Runner(join_path('zh-TW', 'success', 'table.feature'), verbosity=3) runner.run() assert_stdout_lines( u"\n" u"特性: 步驟中包含表格 # tests/functional/language_specific_features/zh-TW/success/table.feature:3\n" u" 繁體中文表格步驟的成功測試 # tests/functional/language_specific_features/zh-TW/success/table.feature:4\n" u"\n" u" 場景: 什麽都不做的表格步驟測試 # tests/functional/language_specific_features/zh-TW/success/table.feature:6\n" u" 如果 輸入數據如下: # tests/functional/language_specific_features/zh-TW/success/table_steps.py:6\n" u" | id | 名稱 |\n" u" | 12 | 名稱一 |\n" u" | 64 | 名稱二 |\n" u"\n" u"1 feature (1 passed)\n" u"1 scenario (1 passed)\n" u"1 step (1 passed)\n")
def test_output_of_table_with_success_colorless(): "Language: ru -> sucess table colorless" runner = Runner(join_path('ru', 'success', 'table.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "Функционал: фича с табличкой # tests/functional/language_specific_features/ru/success/table.feature:3\n" " Для того, что бы lettuce был надежным # tests/functional/language_specific_features/ru/success/table.feature:4\n" " Как программист # tests/functional/language_specific_features/ru/success/table.feature:5\n" " Я хочу, что бы тесты с таблицами работали отлично и на русском # tests/functional/language_specific_features/ru/success/table.feature:6\n" "\n" " Сценарий: Проверить таблички # tests/functional/language_specific_features/ru/success/table.feature:8\n" " Пускай имеем таблицу пациентов: # tests/functional/language_specific_features/ru/success/table_steps.py:5\n" " | ФИО | Диагноз |\n" " | Петров ПП | диарея |\n" " | Сидоров НА | хронический снобизм |\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n")
def test_output_of_table_with_success_colorless(): "Language: fr -> sucess table colorless" runner = Runner(join_path('fr', 'success', 'table.feature'), verbosity=3) runner.run() assert_stdout_lines( "\n" "Fonctionnalité: Test des sorties, avec table # tests/functional/language_specific_features/fr/success/table.feature:4\n" " En tant que programmeur # tests/functional/language_specific_features/fr/success/table.feature:5\n" " Je veux tester les sorties de scénario avec table # tests/functional/language_specific_features/fr/success/table.feature:6\n" "\n" " Scénario: NE rien faire, mais avec des tables # tests/functional/language_specific_features/fr/success/table.feature:8\n" " Soit les éléments suivant # tests/functional/language_specific_features/fr/success/table_steps.py:6\n" " | id | élément |\n" " | 50 | Un |\n" " | 59 | 42 |\n" " | 29 | sieste |\n" "\n" "1 feature (1 passed)\n" "1 scenario (1 passed)\n" "1 step (1 passed)\n")
def test_simple_behave_as_feature(): "Basic step.behave_as behaviour is working" Runner(path_to_feature('1st_normal_steps'), verbosity=3).run() assert_stdout_lines( "\n" "Feature: Multiplication # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:2\n" " In order to avoid silly mistakes # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:3\n" " Cashiers must be able to multiplicate numbers :) # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:4\n" "\n" " Scenario: Regular numbers # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:6\n" " Given I have entered 10 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:11\n" " And I have entered 4 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:11\n" " When I press multiply # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:15\n" " Then the result should be 40 on the screen # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:19\n" "\n" " Scenario: Shorter version of the scenario above # tests/functional/behave_as_features/1st_normal_steps/1st_normal_steps.feature:12\n" " Given I multiply 10 and 4 into the calculator # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:23\n" " Then the result should be 40 on the screen # tests/functional/behave_as_features/1st_normal_steps/simple_step_definitions.py:19\n" "\n" "1 feature (1 passed)\n" "2 scenarios (2 passed)\n" "6 steps (6 passed)\n")
def test_simple_tables_behave_as_feature(): "Basic step.behave_as behaviour is working" Runner(path_to_feature('2nd_table_steps'), verbosity=3).run() assert_stdout_lines( "\n" "Feature: Multiplication # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:2\n" " In order to avoid silly mistakes # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:3\n" " Cashiers must be able to multiplicate numbers :) # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:4\n" "\n" " Scenario: Regular numbers # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:6\n" " Given I multiply these numbers: # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:31\n" " | number |\n" " | 55 |\n" " | 2 |\n" " Then the result should be 110 on the screen # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:19\n" "\n" " Scenario: Shorter version of the scenario above # tests/functional/behave_as_features/2nd_table_steps/2nd_table_steps.feature:13\n" " Given I multiply 55 and 2 into the calculator # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:23\n" " Then the result should be 110 on the screen # tests/functional/behave_as_features/2nd_table_steps/simple_tables_step_definitions.py:19\n" "\n" "1 feature (1 passed)\n" "2 scenarios (2 passed)\n" "4 steps (4 passed)\n")