diff --git a/layouts/xedition/thumbnail.png b/layouts/xedition/thumbnail.png
index cdbe54152..b582b8edb 100644
Binary files a/layouts/xedition/thumbnail.png and b/layouts/xedition/thumbnail.png differ
diff --git a/m.layouts/colorCode/img/Blue/bg_lang_body.png b/m.layouts/colorCode/img/Blue/bg_lang_body.png
index b9e2ed890..2a5cde939 100644
Binary files a/m.layouts/colorCode/img/Blue/bg_lang_body.png and b/m.layouts/colorCode/img/Blue/bg_lang_body.png differ
diff --git a/m.layouts/colorCode/img/Blue/bg_lang_t.png b/m.layouts/colorCode/img/Blue/bg_lang_t.png
index 3449f1deb..708881bde 100644
Binary files a/m.layouts/colorCode/img/Blue/bg_lang_t.png and b/m.layouts/colorCode/img/Blue/bg_lang_t.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_home.png b/m.layouts/colorCode/img/Blue/btn_home.png
index 3bbc8ad18..9d93469b9 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_home.png and b/m.layouts/colorCode/img/Blue/btn_home.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_home_fda.png b/m.layouts/colorCode/img/Blue/btn_home_fda.png
index 69fa58068..c8318b88d 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_home_fda.png and b/m.layouts/colorCode/img/Blue/btn_home_fda.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_lang_off.png b/m.layouts/colorCode/img/Blue/btn_lang_off.png
index c53c0a21b..6a0abea2d 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_lang_off.png and b/m.layouts/colorCode/img/Blue/btn_lang_off.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png b/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png
index 0c83d8763..0b16c395f 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_lang_on.png b/m.layouts/colorCode/img/Blue/btn_lang_on.png
index 43023f863..0233d9eda 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_lang_on.png and b/m.layouts/colorCode/img/Blue/btn_lang_on.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png b/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png
index 75fa071d0..9c617dc70 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_menu.png b/m.layouts/colorCode/img/Blue/btn_menu.png
index 0b656a394..6790e7fb0 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_menu.png and b/m.layouts/colorCode/img/Blue/btn_menu.png differ
diff --git a/m.layouts/colorCode/img/Blue/btn_menu_fda.png b/m.layouts/colorCode/img/Blue/btn_menu_fda.png
index caad74305..bda05721a 100644
Binary files a/m.layouts/colorCode/img/Blue/btn_menu_fda.png and b/m.layouts/colorCode/img/Blue/btn_menu_fda.png differ
diff --git a/m.layouts/colorCode/img/Gray/bg_lang_body.png b/m.layouts/colorCode/img/Gray/bg_lang_body.png
index dafd8f520..e58724a57 100644
Binary files a/m.layouts/colorCode/img/Gray/bg_lang_body.png and b/m.layouts/colorCode/img/Gray/bg_lang_body.png differ
diff --git a/m.layouts/colorCode/img/Gray/bg_lang_t.png b/m.layouts/colorCode/img/Gray/bg_lang_t.png
index 9c30cf06b..18494be14 100644
Binary files a/m.layouts/colorCode/img/Gray/bg_lang_t.png and b/m.layouts/colorCode/img/Gray/bg_lang_t.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_home.png b/m.layouts/colorCode/img/Gray/btn_home.png
index 09602d3ab..6a7a576e2 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_home.png and b/m.layouts/colorCode/img/Gray/btn_home.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_home_fda.png b/m.layouts/colorCode/img/Gray/btn_home_fda.png
index 61198d14b..83daeeac6 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_home_fda.png and b/m.layouts/colorCode/img/Gray/btn_home_fda.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_lang_off.png b/m.layouts/colorCode/img/Gray/btn_lang_off.png
index 035971a79..6988b37b9 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_lang_off.png and b/m.layouts/colorCode/img/Gray/btn_lang_off.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png b/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png
index d9f5cee8a..7f4657f83 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_lang_on.png b/m.layouts/colorCode/img/Gray/btn_lang_on.png
index 3e42f525c..1b7c0ec57 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_lang_on.png and b/m.layouts/colorCode/img/Gray/btn_lang_on.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png b/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png
index 61ea21e82..8d014d157 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_menu.png b/m.layouts/colorCode/img/Gray/btn_menu.png
index d58af85af..c7842c058 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_menu.png and b/m.layouts/colorCode/img/Gray/btn_menu.png differ
diff --git a/m.layouts/colorCode/img/Gray/btn_menu_fda.png b/m.layouts/colorCode/img/Gray/btn_menu_fda.png
index ec3dcade0..55b7fc91f 100644
Binary files a/m.layouts/colorCode/img/Gray/btn_menu_fda.png and b/m.layouts/colorCode/img/Gray/btn_menu_fda.png differ
diff --git a/m.layouts/colorCode/img/Orange/bg_lang_body.png b/m.layouts/colorCode/img/Orange/bg_lang_body.png
index f1fcac955..b16294a21 100644
Binary files a/m.layouts/colorCode/img/Orange/bg_lang_body.png and b/m.layouts/colorCode/img/Orange/bg_lang_body.png differ
diff --git a/m.layouts/colorCode/img/Orange/bg_lang_t.png b/m.layouts/colorCode/img/Orange/bg_lang_t.png
index 39bceabef..de96f5164 100644
Binary files a/m.layouts/colorCode/img/Orange/bg_lang_t.png and b/m.layouts/colorCode/img/Orange/bg_lang_t.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_home.png b/m.layouts/colorCode/img/Orange/btn_home.png
index fd81981a1..93a443168 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_home.png and b/m.layouts/colorCode/img/Orange/btn_home.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_home_fda.png b/m.layouts/colorCode/img/Orange/btn_home_fda.png
index 529ce3556..59c48e6e7 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_home_fda.png and b/m.layouts/colorCode/img/Orange/btn_home_fda.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_lang_off.png b/m.layouts/colorCode/img/Orange/btn_lang_off.png
index 361954d20..2f524c3cf 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_lang_off.png and b/m.layouts/colorCode/img/Orange/btn_lang_off.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png b/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png
index 93516ea5b..169bf0e69 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_lang_on.png b/m.layouts/colorCode/img/Orange/btn_lang_on.png
index 34ed5986e..74d5fd468 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_lang_on.png and b/m.layouts/colorCode/img/Orange/btn_lang_on.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png b/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png
index 77654a564..770368d81 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_menu.png b/m.layouts/colorCode/img/Orange/btn_menu.png
index 80a76fbe2..1d0499bc4 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_menu.png and b/m.layouts/colorCode/img/Orange/btn_menu.png differ
diff --git a/m.layouts/colorCode/img/Orange/btn_menu_fda.png b/m.layouts/colorCode/img/Orange/btn_menu_fda.png
index ee1c114de..45a061f56 100644
Binary files a/m.layouts/colorCode/img/Orange/btn_menu_fda.png and b/m.layouts/colorCode/img/Orange/btn_menu_fda.png differ
diff --git a/m.layouts/colorCode/img/Red/bg_lang_body.png b/m.layouts/colorCode/img/Red/bg_lang_body.png
index dc0c8c2a9..84b63c4bd 100644
Binary files a/m.layouts/colorCode/img/Red/bg_lang_body.png and b/m.layouts/colorCode/img/Red/bg_lang_body.png differ
diff --git a/m.layouts/colorCode/img/Red/bg_lang_t.png b/m.layouts/colorCode/img/Red/bg_lang_t.png
index 34a78007c..50e6f696e 100644
Binary files a/m.layouts/colorCode/img/Red/bg_lang_t.png and b/m.layouts/colorCode/img/Red/bg_lang_t.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_home.png b/m.layouts/colorCode/img/Red/btn_home.png
index 9369bac67..b07d158d1 100644
Binary files a/m.layouts/colorCode/img/Red/btn_home.png and b/m.layouts/colorCode/img/Red/btn_home.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_home_fda.png b/m.layouts/colorCode/img/Red/btn_home_fda.png
index de294e1c3..e8c4bb6ce 100644
Binary files a/m.layouts/colorCode/img/Red/btn_home_fda.png and b/m.layouts/colorCode/img/Red/btn_home_fda.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_lang_off.png b/m.layouts/colorCode/img/Red/btn_lang_off.png
index 93dab3f21..9707380e2 100644
Binary files a/m.layouts/colorCode/img/Red/btn_lang_off.png and b/m.layouts/colorCode/img/Red/btn_lang_off.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_lang_off_tp.png b/m.layouts/colorCode/img/Red/btn_lang_off_tp.png
index 1861ed5ec..d8c099143 100644
Binary files a/m.layouts/colorCode/img/Red/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Red/btn_lang_off_tp.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_lang_on.png b/m.layouts/colorCode/img/Red/btn_lang_on.png
index 61eb435c4..c215547fc 100644
Binary files a/m.layouts/colorCode/img/Red/btn_lang_on.png and b/m.layouts/colorCode/img/Red/btn_lang_on.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_lang_on_tp.png b/m.layouts/colorCode/img/Red/btn_lang_on_tp.png
index efe89b885..628465326 100644
Binary files a/m.layouts/colorCode/img/Red/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Red/btn_lang_on_tp.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_menu.png b/m.layouts/colorCode/img/Red/btn_menu.png
index 9ab04892d..35465f4be 100644
Binary files a/m.layouts/colorCode/img/Red/btn_menu.png and b/m.layouts/colorCode/img/Red/btn_menu.png differ
diff --git a/m.layouts/colorCode/img/Red/btn_menu_fda.png b/m.layouts/colorCode/img/Red/btn_menu_fda.png
index 62cb78ef1..29c02c947 100644
Binary files a/m.layouts/colorCode/img/Red/btn_menu_fda.png and b/m.layouts/colorCode/img/Red/btn_menu_fda.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/bg_lang_body.png b/m.layouts/colorCode/img/nGreenA/bg_lang_body.png
index d9b822507..5d10c8cf1 100644
Binary files a/m.layouts/colorCode/img/nGreenA/bg_lang_body.png and b/m.layouts/colorCode/img/nGreenA/bg_lang_body.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/bg_lang_t.png b/m.layouts/colorCode/img/nGreenA/bg_lang_t.png
index 66c5beaab..79db1e868 100644
Binary files a/m.layouts/colorCode/img/nGreenA/bg_lang_t.png and b/m.layouts/colorCode/img/nGreenA/bg_lang_t.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_home.png b/m.layouts/colorCode/img/nGreenA/btn_home.png
index 59fea0bec..e58854a75 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_home.png and b/m.layouts/colorCode/img/nGreenA/btn_home.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_home_fda.png b/m.layouts/colorCode/img/nGreenA/btn_home_fda.png
index 89d6e10da..9a97567ce 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_home_fda.png and b/m.layouts/colorCode/img/nGreenA/btn_home_fda.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_off.png b/m.layouts/colorCode/img/nGreenA/btn_lang_off.png
index ce662cbb0..c6d10ba7a 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_off.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_off.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png b/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png
index 6b0a53fcd..771ee0ad7 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_on.png b/m.layouts/colorCode/img/nGreenA/btn_lang_on.png
index ff8c15bf2..35dde0e5f 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_on.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_on.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png b/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png
index 3b8e573ae..1a47543bb 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_menu.png b/m.layouts/colorCode/img/nGreenA/btn_menu.png
index 2229edb4d..24d6f28d4 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_menu.png and b/m.layouts/colorCode/img/nGreenA/btn_menu.png differ
diff --git a/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png b/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png
index f3c8889b8..b01cf7465 100644
Binary files a/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png and b/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/bg_lang_body.png b/m.layouts/colorCode/img/nGreenB/bg_lang_body.png
index d9b822507..5d10c8cf1 100644
Binary files a/m.layouts/colorCode/img/nGreenB/bg_lang_body.png and b/m.layouts/colorCode/img/nGreenB/bg_lang_body.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/bg_lang_t.png b/m.layouts/colorCode/img/nGreenB/bg_lang_t.png
index 66c5beaab..79db1e868 100644
Binary files a/m.layouts/colorCode/img/nGreenB/bg_lang_t.png and b/m.layouts/colorCode/img/nGreenB/bg_lang_t.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_home.png b/m.layouts/colorCode/img/nGreenB/btn_home.png
index 080b98f1e..080c2e8e9 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_home.png and b/m.layouts/colorCode/img/nGreenB/btn_home.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_home_fda.png b/m.layouts/colorCode/img/nGreenB/btn_home_fda.png
index 2743dd710..539c13155 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_home_fda.png and b/m.layouts/colorCode/img/nGreenB/btn_home_fda.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_off.png b/m.layouts/colorCode/img/nGreenB/btn_lang_off.png
index ce662cbb0..c6d10ba7a 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_off.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_off.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png b/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png
index 6b0a53fcd..771ee0ad7 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_on.png b/m.layouts/colorCode/img/nGreenB/btn_lang_on.png
index ff8c15bf2..35dde0e5f 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_on.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_on.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png b/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png
index 3b8e573ae..1a47543bb 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_menu.png b/m.layouts/colorCode/img/nGreenB/btn_menu.png
index 737d1b3ca..eef451c74 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_menu.png and b/m.layouts/colorCode/img/nGreenB/btn_menu.png differ
diff --git a/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png b/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png
index 4273f756e..02b6435a4 100644
Binary files a/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png and b/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png differ
diff --git a/modules/admin/tpl/img/bgFavicon.gif b/modules/admin/tpl/img/bgFavicon.gif
index a797561cd..b066c4fdf 100644
Binary files a/modules/admin/tpl/img/bgFavicon.gif and b/modules/admin/tpl/img/bgFavicon.gif differ
diff --git a/modules/admin/tpl/img/bgMobileTop.png b/modules/admin/tpl/img/bgMobileTop.png
index d2512de2b..b0480460a 100644
Binary files a/modules/admin/tpl/img/bgMobileTop.png and b/modules/admin/tpl/img/bgMobileTop.png differ
diff --git a/modules/admin/tpl/img/faviconSample.png b/modules/admin/tpl/img/faviconSample.png
index 1aaf09543..4f98daeaa 100644
Binary files a/modules/admin/tpl/img/faviconSample.png and b/modules/admin/tpl/img/faviconSample.png differ
diff --git a/modules/admin/tpl/img/glyphicons-halflings-white.png b/modules/admin/tpl/img/glyphicons-halflings-white.png
index 3bf6484a2..96c62c848 100644
Binary files a/modules/admin/tpl/img/glyphicons-halflings-white.png and b/modules/admin/tpl/img/glyphicons-halflings-white.png differ
diff --git a/modules/admin/tpl/img/glyphicons-halflings.png b/modules/admin/tpl/img/glyphicons-halflings.png
index a99699932..927449438 100644
Binary files a/modules/admin/tpl/img/glyphicons-halflings.png and b/modules/admin/tpl/img/glyphicons-halflings.png differ
diff --git a/modules/admin/tpl/img/mobiconSample.png b/modules/admin/tpl/img/mobiconSample.png
index c56edbede..c08a71d5a 100644
Binary files a/modules/admin/tpl/img/mobiconSample.png and b/modules/admin/tpl/img/mobiconSample.png differ
diff --git a/modules/admin/tpl/img/starRating.png b/modules/admin/tpl/img/starRating.png
index 49ee36d45..16092f4e8 100644
Binary files a/modules/admin/tpl/img/starRating.png and b/modules/admin/tpl/img/starRating.png differ
diff --git a/modules/admin/tpl/img/toggleSwitch.png b/modules/admin/tpl/img/toggleSwitch.png
index 2a3111299..fc9fbc501 100644
Binary files a/modules/admin/tpl/img/toggleSwitch.png and b/modules/admin/tpl/img/toggleSwitch.png differ
diff --git a/modules/admin/tpl/img/xe.h1.png b/modules/admin/tpl/img/xe.h1.png
index af1bf31bc..b462a06ba 100644
Binary files a/modules/admin/tpl/img/xe.h1.png and b/modules/admin/tpl/img/xe.h1.png differ
diff --git a/modules/autoinstall/tpl/img/btn_search.gif b/modules/autoinstall/tpl/img/btn_search.gif
index ed7b21a93..399e01470 100644
Binary files a/modules/autoinstall/tpl/img/btn_search.gif and b/modules/autoinstall/tpl/img/btn_search.gif differ
diff --git a/modules/autoinstall/tpl/img/hrE1.gif b/modules/autoinstall/tpl/img/hrE1.gif
index fc3a410f6..64b945597 100644
Binary files a/modules/autoinstall/tpl/img/hrE1.gif and b/modules/autoinstall/tpl/img/hrE1.gif differ
diff --git a/modules/autoinstall/tpl/img/starRating.png b/modules/autoinstall/tpl/img/starRating.png
index 49ee36d45..713882b95 100644
Binary files a/modules/autoinstall/tpl/img/starRating.png and b/modules/autoinstall/tpl/img/starRating.png differ
diff --git a/modules/board/skins/default/profile.gif b/modules/board/skins/default/profile.gif
index 7280f019d..dcc08bba5 100644
Binary files a/modules/board/skins/default/profile.gif and b/modules/board/skins/default/profile.gif differ
diff --git a/modules/board/skins/xedition/profile.gif b/modules/board/skins/xedition/profile.gif
index bf03c4750..559003676 100644
Binary files a/modules/board/skins/xedition/profile.gif and b/modules/board/skins/xedition/profile.gif differ
diff --git a/modules/board/skins/xedition/thumbnail.png b/modules/board/skins/xedition/thumbnail.png
index f1d97f107..d0071d2cf 100644
Binary files a/modules/board/skins/xedition/thumbnail.png and b/modules/board/skins/xedition/thumbnail.png differ
diff --git a/modules/communication/m.skins/default/img/member.png b/modules/communication/m.skins/default/img/member.png
index 03263ff69..573a68d0f 100644
Binary files a/modules/communication/m.skins/default/img/member.png and b/modules/communication/m.skins/default/img/member.png differ
diff --git a/modules/communication/m.skins/default/img/read.png b/modules/communication/m.skins/default/img/read.png
index 11af4ae34..ef6d7b9de 100644
Binary files a/modules/communication/m.skins/default/img/read.png and b/modules/communication/m.skins/default/img/read.png differ
diff --git a/modules/communication/m.skins/default/img/unread.png b/modules/communication/m.skins/default/img/unread.png
index 0c7a31b47..da9cdd990 100644
Binary files a/modules/communication/m.skins/default/img/unread.png and b/modules/communication/m.skins/default/img/unread.png differ
diff --git a/modules/communication/skins/default/img/bgTab.gif b/modules/communication/skins/default/img/bgTab.gif
index 8835361b8..fb35847be 100755
Binary files a/modules/communication/skins/default/img/bgTab.gif and b/modules/communication/skins/default/img/bgTab.gif differ
diff --git a/modules/communication/skins/default/img/iconH3.gif b/modules/communication/skins/default/img/iconH3.gif
index 889e2818e..3d58cc6e7 100755
Binary files a/modules/communication/skins/default/img/iconH3.gif and b/modules/communication/skins/default/img/iconH3.gif differ
diff --git a/modules/communication/skins/default/img/lineVrText.gif b/modules/communication/skins/default/img/lineVrText.gif
index 27566578d..6139fdf57 100755
Binary files a/modules/communication/skins/default/img/lineVrText.gif and b/modules/communication/skins/default/img/lineVrText.gif differ
diff --git a/modules/counter/tpl/images/buttonLeft.gif b/modules/counter/tpl/images/buttonLeft.gif
index ffcc2e499..ddeff52bc 100644
Binary files a/modules/counter/tpl/images/buttonLeft.gif and b/modules/counter/tpl/images/buttonLeft.gif differ
diff --git a/modules/counter/tpl/images/buttonRight.gif b/modules/counter/tpl/images/buttonRight.gif
index dc5373c14..c248f2adb 100644
Binary files a/modules/counter/tpl/images/buttonRight.gif and b/modules/counter/tpl/images/buttonRight.gif differ
diff --git a/modules/counter/tpl/images/iconBar.gif b/modules/counter/tpl/images/iconBar.gif
index 8193ad5f7..bf18b3af9 100644
Binary files a/modules/counter/tpl/images/iconBar.gif and b/modules/counter/tpl/images/iconBar.gif differ
diff --git a/modules/document/tpl/icons/file.gif b/modules/document/tpl/icons/file.gif
index 4928ea804..7d0768010 100644
Binary files a/modules/document/tpl/icons/file.gif and b/modules/document/tpl/icons/file.gif differ
diff --git a/modules/document/tpl/icons/image.gif b/modules/document/tpl/icons/image.gif
index e4401a834..9e16ba620 100644
Binary files a/modules/document/tpl/icons/image.gif and b/modules/document/tpl/icons/image.gif differ
diff --git a/modules/document/tpl/icons/movie.gif b/modules/document/tpl/icons/movie.gif
index 5d2385654..4933e45af 100644
Binary files a/modules/document/tpl/icons/movie.gif and b/modules/document/tpl/icons/movie.gif differ
diff --git a/modules/document/tpl/icons/new.gif b/modules/document/tpl/icons/new.gif
index 389efdf07..0d2aad44a 100644
Binary files a/modules/document/tpl/icons/new.gif and b/modules/document/tpl/icons/new.gif differ
diff --git a/modules/document/tpl/icons/secret.gif b/modules/document/tpl/icons/secret.gif
index a3ccad0b0..4e752dee8 100644
Binary files a/modules/document/tpl/icons/secret.gif and b/modules/document/tpl/icons/secret.gif differ
diff --git a/modules/document/tpl/icons/update.gif b/modules/document/tpl/icons/update.gif
index b2f61437a..7a8d21f36 100644
Binary files a/modules/document/tpl/icons/update.gif and b/modules/document/tpl/icons/update.gif differ
diff --git a/modules/editor/components/image_gallery/tpl/popup.js b/modules/editor/components/image_gallery/tpl/popup.js
index 5e848e38a..6a1101d81 100644
--- a/modules/editor/components/image_gallery/tpl/popup.js
+++ b/modules/editor/components/image_gallery/tpl/popup.js
@@ -1,4 +1,5 @@
var selected_node = null;
+var files = [];
function getSlideShow() {
var node, $node, selected_images = '', width, style, align, border_color, bg_color, thickness;
@@ -33,27 +34,23 @@ function getSlideShow() {
// 부모창의 업로드된 파일중 이미지 목록을 모두 가져와서 세팅
var fo = get_by_id("fo");
var editor_sequence = fo.editor_sequence.value;
+ var list_obj = get_by_id("image_list");
- var parent_list_obj = opener.get_by_id("uploaded_file_list_"+editor_sequence);
- if(parent_list_obj) {
+ jQuery.exec_json('file.getFileList', {'editor_sequence': editor_sequence}, function(res) {
+ jQuery.each(res.files, function (index, file) {
+ var file_srl = file.file_srl;
- var list_obj = get_by_id("image_list");
-
- for(var i=0;i
';opener.editorFocus(opener.editorPrevSrl);var p=opener.editorGetIFrame(opener.editorPrevSrl);opener.editorReplaceHTML(p,o)}opener.editorFocus(opener.editorPrevSrl),window.close()}}function select_color(a,b){get_by_id(a+"_preview_color").style.backgroundColor="#"+b,get_by_id(a+"_color_input").value=b}var selected_node=null;jQuery(function(){getSlideShow()});
\ No newline at end of file
+function getSlideShow(){var a,b,c,d,e,f,g,h,i="";if("undefined"!=typeof opener){a=opener.editorPrevNode,b=jQuery(a),b.is("img")&&(selected_node=a,c=b.width(),d=b.attr("gallery_style"),e=b.attr("gallery_align")||"center",f=b.attr("border_color"),g=b.attr("bg_color"),h=b.attr("border_thickness")||1,get_by_id("width").value=c,get_by_id("gallery_style").selectedIndex="list"==d?1:0,get_by_id("gallery_align").selectedIndex="left"==e?1:"right"==e?2:0,get_by_id("border_thickness").value=h,get_by_id("border_color_input").value=f,get_by_id("bg_color_input").value=g,i=b.attr("images_list"));var j=get_by_id("fo"),k=j.editor_sequence.value,l=get_by_id("image_list");jQuery.exec_json("file.getFileList",{editor_sequence:k},function(a){jQuery.each(a.files,function(a,b){var c=b.file_srl;if(c){var d=b.source_filename;if(/\.(jpe?g|png|gif)$/i.test(d)){var e=!1;-1!=i.indexOf(d)&&(e=!0);var f=new Option(b.source_filename,c,!1,e);l.options.add(f),files[b.file_srl]=b}}})})}}function insertSlideShow(){if("undefined"!=typeof opener){for(var a=new Array,b=get_by_id("image_list"),c=0;c
';opener.editorFocus(opener.editorPrevSrl);var p=opener.editorGetIFrame(opener.editorPrevSrl);opener.editorReplaceHTML(p,o)}opener.editorFocus(opener.editorPrevSrl),window.close()}}function select_color(a,b){get_by_id(a+"_preview_color").style.backgroundColor="#"+b,get_by_id(a+"_color_input").value=b}var selected_node=null,files=[];jQuery(function(){getSlideShow()});
\ No newline at end of file
diff --git a/modules/editor/skins/xpresseditor/img/bg_tool.black.gif b/modules/editor/skins/xpresseditor/img/bg_tool.black.gif
index 4cb5c84d9..58eff2f9f 100755
Binary files a/modules/editor/skins/xpresseditor/img/bg_tool.black.gif and b/modules/editor/skins/xpresseditor/img/bg_tool.black.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/bg_tool.gif b/modules/editor/skins/xpresseditor/img/bg_tool.gif
index 219957ada..ae3c3b196 100644
Binary files a/modules/editor/skins/xpresseditor/img/bg_tool.gif and b/modules/editor/skins/xpresseditor/img/bg_tool.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/btn_expand.gif b/modules/editor/skins/xpresseditor/img/btn_expand.gif
index 17f251cec..ea472d91c 100644
Binary files a/modules/editor/skins/xpresseditor/img/btn_expand.gif and b/modules/editor/skins/xpresseditor/img/btn_expand.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/btn_layer_cell_adjust.gif b/modules/editor/skins/xpresseditor/img/btn_layer_cell_adjust.gif
index 3d7110db4..7cb1e0fbb 100644
Binary files a/modules/editor/skins/xpresseditor/img/btn_layer_cell_adjust.gif and b/modules/editor/skins/xpresseditor/img/btn_layer_cell_adjust.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/btn_qmark.gif b/modules/editor/skins/xpresseditor/img/btn_qmark.gif
index a1efa1926..2232f5d1a 100644
Binary files a/modules/editor/skins/xpresseditor/img/btn_qmark.gif and b/modules/editor/skins/xpresseditor/img/btn_qmark.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/btn_set.black.gif b/modules/editor/skins/xpresseditor/img/btn_set.black.gif
index 74e3b1d30..f7cb58bc7 100755
Binary files a/modules/editor/skins/xpresseditor/img/btn_set.black.gif and b/modules/editor/skins/xpresseditor/img/btn_set.black.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/btn_set.gif b/modules/editor/skins/xpresseditor/img/btn_set.gif
index f8cc3e3ce..b44b58b96 100644
Binary files a/modules/editor/skins/xpresseditor/img/btn_set.gif and b/modules/editor/skins/xpresseditor/img/btn_set.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/btn_set_blank.black.gif b/modules/editor/skins/xpresseditor/img/btn_set_blank.black.gif
index 2f079c9a5..145bb4783 100755
Binary files a/modules/editor/skins/xpresseditor/img/btn_set_blank.black.gif and b/modules/editor/skins/xpresseditor/img/btn_set_blank.black.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/btn_set_blank.gif b/modules/editor/skins/xpresseditor/img/btn_set_blank.gif
index 046cd9f72..fc65fa68a 100644
Binary files a/modules/editor/skins/xpresseditor/img/btn_set_blank.gif and b/modules/editor/skins/xpresseditor/img/btn_set_blank.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/bx_character.gif b/modules/editor/skins/xpresseditor/img/bx_character.gif
index eff0d8921..443694790 100644
Binary files a/modules/editor/skins/xpresseditor/img/bx_character.gif and b/modules/editor/skins/xpresseditor/img/bx_character.gif differ
diff --git a/modules/editor/skins/xpresseditor/img/vr_layer_character.gif b/modules/editor/skins/xpresseditor/img/vr_layer_character.gif
index e77bbe640..2d64980c3 100644
Binary files a/modules/editor/skins/xpresseditor/img/vr_layer_character.gif and b/modules/editor/skins/xpresseditor/img/vr_layer_character.gif differ
diff --git a/modules/editor/tpl/js/editor.app.js b/modules/editor/tpl/js/editor.app.js
index 9542619ed..56941412d 100644
--- a/modules/editor/tpl/js/editor.app.js
+++ b/modules/editor/tpl/js/editor.app.js
@@ -57,7 +57,7 @@
var self = this;
var $containerEl = containerEl;
var $form = $containerEl.closest('form');
- var $contentField = opts.content_field;
+ var $contentField = $form.find(opts.content_field);
var data = $containerEl.data();
var editor_sequence = $containerEl.data().editorSequence;
@@ -65,7 +65,7 @@
this.editor_sequence = data.editorSequence;
$form.attr('editor_sequence', data.editorSequence);
-
+
if(CKEDITOR.env.mobile) CKEDITOR.env.isCompatible = true;
var instance = CKEDITOR.appendTo($containerEl[0], {}, $contentField.val());
diff --git a/modules/editor/tpl/js/editor.app.min.js b/modules/editor/tpl/js/editor.app.min.js
index c11157caa..b323f1598 100644
--- a/modules/editor/tpl/js/editor.app.min.js
+++ b/modules/editor/tpl/js/editor.app.min.js
@@ -1 +1 @@
-!function(a){"use strict";function b(b){return a.grep(b,function(c,d){return c.length&&a.inArray(c,b)===d})}var c={bodyClass:"xe_content editable",toolbarCanCollapse:!0,toolbarGroups:[{name:"clipboard",groups:["undo","clipboard"]},{name:"editing",groups:["find","selection"]},{name:"links"},{name:"insert"},{name:"tools"},{name:"document",groups:["mode"]},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"]},"/",{name:"styles"},{name:"colors"},{name:"xecomponent"},{name:"others"}],allowedContent:!0,removePlugins:"stylescombo,language,bidi,flash,pagebreak",removeButtons:"Save,Preview,Print,Cut,Copy,Paste",uiColor:"#EFF0F0"},d=xe.createApp("XeCkEditor",{ckeconfig:{},editor_sequence:null,init:function(){var a=this;CKEDITOR.on("instanceCreated",function(){a.cast("CKEDITOR_CREATED")}),CKEDITOR.on("ready",function(){a.cast("CKEDITOR_READY")}),CKEDITOR.on("instanceReady",function(){a.cast("CKEDITOR_INSTANCE_READY")}),CKEDITOR.on("instanceLoaded",function(){a.cast("CKEDITOR_LOADED")})},editorInit:function(d,e){{var f=this,g=d,h=g.closest("form"),i=e.content_field,j=g.data();g.data().editorSequence}this.ckeconfig=a.extend({},c,e.ckeconfig||{}),this.editor_sequence=j.editorSequence,h.attr("editor_sequence",j.editorSequence),CKEDITOR.env.mobile&&(CKEDITOR.env.isCompatible=!0);var k=CKEDITOR.appendTo(g[0],{},i.val());k.on("customConfigLoaded",function(d){if(k.config=a.extend({},d.editor.config,f.ckeconfig),a.isFunction(CKEDITOR.editorConfig)){var g={};CKEDITOR.editorConfig(g),a.each(g,function(a,b){k.config[a]=b})}var h=d.editor.config.bodyClass.split(" ");if(h.push(c.bodyClass),h=b(h),k.config.bodyClass=h.join(" "),e.loadXeComponent){var i=d.editor.config.extraPlugins.split(",");i.push("xe_component"),i=b(i),k.config.extraPlugins=i.join(",")}e.enableToolbar||(k.config.toolbar=[])}),g.data("cke_instance",k),window.editorRelKeys[j.editorSequence]={},window.editorRelKeys[j.editorSequence].primary=h.find("[name="+j.editorPrimaryKeyName+"]")[0],window.editorRelKeys[j.editorSequence].content=h.find("[name="+j.editorContentKeyName+"]")[0],window.editorRelKeys[j.editorSequence].func=function(a){return f.getContent.call(f,a)},window.editorRelKeys[j.editorSequence].pasteHTML=function(a){k.insertHtml(a,"html")}},getContent:function(a){var b=this,c=_getCkeInstance(a).getData();return b.cast("GET_CONTENT",[c]),c},getInstance:function(a){return CKEDITOR.instances[a]},API_EDITOR_CREATED:function(){}});a.fn.XeCkEditor=function(a){var b=new d(this.eq(0),a);return b&&(xe.registerApp(b),b.editorInit(this.eq(0),a)),b},window.xe.XeCkEditor=function(){var a=new d;return a}}(jQuery);
\ No newline at end of file
+!function(a){"use strict";function b(b){return a.grep(b,function(c,d){return c.length&&a.inArray(c,b)===d})}var c={bodyClass:"xe_content editable",toolbarCanCollapse:!0,toolbarGroups:[{name:"clipboard",groups:["undo","clipboard"]},{name:"editing",groups:["find","selection"]},{name:"links"},{name:"insert"},{name:"tools"},{name:"document",groups:["mode"]},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"]},"/",{name:"styles"},{name:"colors"},{name:"xecomponent"},{name:"others"}],allowedContent:!0,removePlugins:"stylescombo,language,bidi,flash,pagebreak",removeButtons:"Save,Preview,Print,Cut,Copy,Paste",uiColor:"#EFF0F0"},d=xe.createApp("XeCkEditor",{ckeconfig:{},editor_sequence:null,init:function(){var a=this;CKEDITOR.on("instanceCreated",function(){a.cast("CKEDITOR_CREATED")}),CKEDITOR.on("ready",function(){a.cast("CKEDITOR_READY")}),CKEDITOR.on("instanceReady",function(){a.cast("CKEDITOR_INSTANCE_READY")}),CKEDITOR.on("instanceLoaded",function(){a.cast("CKEDITOR_LOADED")})},editorInit:function(d,e){{var f=this,g=d,h=g.closest("form"),i=h.find(e.content_field),j=g.data();g.data().editorSequence}this.ckeconfig=a.extend({},c,e.ckeconfig||{}),this.editor_sequence=j.editorSequence,h.attr("editor_sequence",j.editorSequence),CKEDITOR.env.mobile&&(CKEDITOR.env.isCompatible=!0);var k=CKEDITOR.appendTo(g[0],{},i.val());k.on("customConfigLoaded",function(d){if(k.config=a.extend({},d.editor.config,f.ckeconfig),a.isFunction(CKEDITOR.editorConfig)){var g={};CKEDITOR.editorConfig(g),a.each(g,function(a,b){k.config[a]=b})}var h=d.editor.config.bodyClass.split(" ");if(h.push(c.bodyClass),h=b(h),k.config.bodyClass=h.join(" "),e.loadXeComponent){var i=d.editor.config.extraPlugins.split(",");i.push("xe_component"),i=b(i),k.config.extraPlugins=i.join(",")}e.enableToolbar||(k.config.toolbar=[])}),g.data("cke_instance",k),window.editorRelKeys[j.editorSequence]={},window.editorRelKeys[j.editorSequence].primary=h.find("[name="+j.editorPrimaryKeyName+"]")[0],window.editorRelKeys[j.editorSequence].content=h.find("[name="+j.editorContentKeyName+"]")[0],window.editorRelKeys[j.editorSequence].func=function(a){return f.getContent.call(f,a)},window.editorRelKeys[j.editorSequence].pasteHTML=function(a){k.insertHtml(a,"html")}},getContent:function(a){var b=this,c=_getCkeInstance(a).getData();return b.cast("GET_CONTENT",[c]),c},getInstance:function(a){return CKEDITOR.instances[a]},API_EDITOR_CREATED:function(){}});a.fn.XeCkEditor=function(a){var b=new d(this.eq(0),a);return b&&(xe.registerApp(b),b.editorInit(this.eq(0),a)),b},window.xe.XeCkEditor=function(){var a=new d;return a}}(jQuery);
\ No newline at end of file
diff --git a/modules/file/file.controller.php b/modules/file/file.controller.php
index 97dd2fc45..b5d83a4fe 100644
--- a/modules/file/file.controller.php
+++ b/modules/file/file.controller.php
@@ -26,8 +26,7 @@ class fileController extends file
function procFileUpload()
{
Context::setRequestMethod('JSON');
-
- $file_info = Context::get('Filedata');
+ $file_info = $_FILES['Filedata'];
// An error appears if not a normally uploaded file
if(!is_uploaded_file($file_info['tmp_name'])) exit();
diff --git a/modules/install/tpl/img/icoStatus.gif b/modules/install/tpl/img/icoStatus.gif
index 00cd03aa1..9bd276305 100644
Binary files a/modules/install/tpl/img/icoStatus.gif and b/modules/install/tpl/img/icoStatus.gif differ
diff --git a/modules/install/tpl/img/xe.png b/modules/install/tpl/img/xe.png
index 576dd4683..3690d598b 100644
Binary files a/modules/install/tpl/img/xe.png and b/modules/install/tpl/img/xe.png differ
diff --git a/modules/integration_search/skins/default/images/white/bgTab.gif b/modules/integration_search/skins/default/images/white/bgTab.gif
index 8835361b8..fb35847be 100755
Binary files a/modules/integration_search/skins/default/images/white/bgTab.gif and b/modules/integration_search/skins/default/images/white/bgTab.gif differ
diff --git a/modules/layout/tpl/images/bgBody.gif b/modules/layout/tpl/images/bgBody.gif
index 45b848dba..7301ac53e 100644
Binary files a/modules/layout/tpl/images/bgBody.gif and b/modules/layout/tpl/images/bgBody.gif differ
diff --git a/modules/layout/tpl/images/bgContainer.gif b/modules/layout/tpl/images/bgContainer.gif
index 125b7cb9f..e558cfdac 100644
Binary files a/modules/layout/tpl/images/bgContainer.gif and b/modules/layout/tpl/images/bgContainer.gif differ
diff --git a/modules/layout/tpl/images/bgExtension.gif b/modules/layout/tpl/images/bgExtension.gif
index 828276829..b86d0ad88 100644
Binary files a/modules/layout/tpl/images/bgExtension.gif and b/modules/layout/tpl/images/bgExtension.gif differ
diff --git a/modules/layout/tpl/images/bgSection.gif b/modules/layout/tpl/images/bgSection.gif
index a9589f567..ac4d2e9ce 100644
Binary files a/modules/layout/tpl/images/bgSection.gif and b/modules/layout/tpl/images/bgSection.gif differ
diff --git a/modules/layout/tpl/images/bgXe.gif b/modules/layout/tpl/images/bgXe.gif
index e9f429704..97ec07e20 100644
Binary files a/modules/layout/tpl/images/bgXe.gif and b/modules/layout/tpl/images/bgXe.gif differ
diff --git a/modules/layout/tpl/images/buttonControler.png b/modules/layout/tpl/images/buttonControler.png
index e89937ea9..2441dcc0a 100644
Binary files a/modules/layout/tpl/images/buttonControler.png and b/modules/layout/tpl/images/buttonControler.png differ
diff --git a/modules/layout/tpl/images/faceoff.gif b/modules/layout/tpl/images/faceoff.gif
index 07935c5b3..672a43d4d 100755
Binary files a/modules/layout/tpl/images/faceoff.gif and b/modules/layout/tpl/images/faceoff.gif differ
diff --git a/modules/layout/tpl/img/black/iconWidgetList.gif b/modules/layout/tpl/img/black/iconWidgetList.gif
index f376452ed..9cd2eb4c1 100755
Binary files a/modules/layout/tpl/img/black/iconWidgetList.gif and b/modules/layout/tpl/img/black/iconWidgetList.gif differ
diff --git a/modules/layout/tpl/img/black/lineTextDiv.gif b/modules/layout/tpl/img/black/lineTextDiv.gif
index a573ed164..4acb06c1c 100755
Binary files a/modules/layout/tpl/img/black/lineTextDiv.gif and b/modules/layout/tpl/img/black/lineTextDiv.gif differ
diff --git a/modules/layout/tpl/img/download.png b/modules/layout/tpl/img/download.png
index 46072c518..64ab8a29c 100644
Binary files a/modules/layout/tpl/img/download.png and b/modules/layout/tpl/img/download.png differ
diff --git a/modules/layout/tpl/img/noThumbnail.png b/modules/layout/tpl/img/noThumbnail.png
index 3f58092c9..e3151bf3f 100644
Binary files a/modules/layout/tpl/img/noThumbnail.png and b/modules/layout/tpl/img/noThumbnail.png differ
diff --git a/modules/layout/tpl/img/white/iconWidgetList.gif b/modules/layout/tpl/img/white/iconWidgetList.gif
index 9d84b6864..272ea84dc 100755
Binary files a/modules/layout/tpl/img/white/iconWidgetList.gif and b/modules/layout/tpl/img/white/iconWidgetList.gif differ
diff --git a/modules/layout/tpl/img/white/linePoint.gif b/modules/layout/tpl/img/white/linePoint.gif
index 09958dad7..c28f483a2 100755
Binary files a/modules/layout/tpl/img/white/linePoint.gif and b/modules/layout/tpl/img/white/linePoint.gif differ
diff --git a/modules/layout/tpl/img/white/lineTextDiv.gif b/modules/layout/tpl/img/white/lineTextDiv.gif
index 0fa7654cb..1b7658cc9 100755
Binary files a/modules/layout/tpl/img/white/lineTextDiv.gif and b/modules/layout/tpl/img/white/lineTextDiv.gif differ
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 21867570e..4c6eb1b51 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -1650,9 +1650,10 @@ class memberController extends member
$do_auto_login = false;
// Compare key values based on the information
- $key = md5($user_id . $password . $_SERVER['HTTP_USER_AGENT']);
+ $check_key = strtolower($user_id).$password.$_SERVER['HTTP_USER_AGENT'];
+ $check_key = substr(hash_hmac('sha256', $check_key, substr($args->autologin_key, 0, 32)), 0, 32);
- if($key == $args->autologin_key)
+ if($check_key === substr($args->autologin_key, 32))
{
// Check change_password_date
$oModuleModel = getModel('module');
@@ -1837,8 +1838,12 @@ class memberController extends member
if($keep_signed)
{
// Key generate for auto login
+ $oPassword = new Password();
+ $random_key = $oPassword->createSecureSalt(32, 'hex');
+ $extra_key = strtolower($user_id).$this->memberInfo->password.$_SERVER['HTTP_USER_AGENT'];
+ $extra_key = substr(hash_hmac('sha256', $extra_key, $random_key), 0, 32);
$autologin_args = new stdClass;
- $autologin_args->autologin_key = md5(strtolower($user_id).$this->memberInfo->password.$_SERVER['HTTP_USER_AGENT']);
+ $autologin_args->autologin_key = $random_key.$extra_key;
$autologin_args->member_srl = $this->memberInfo->member_srl;
executeQuery('member.deleteAutologin', $autologin_args);
$autologin_output = executeQuery('member.insertAutologin', $autologin_args);
diff --git a/modules/message/skins/default/images/openid_login_bg.gif b/modules/message/skins/default/images/openid_login_bg.gif
index cde836c89..be47484c5 100644
Binary files a/modules/message/skins/default/images/openid_login_bg.gif and b/modules/message/skins/default/images/openid_login_bg.gif differ
diff --git a/modules/message/skins/xedition/img/error.png b/modules/message/skins/xedition/img/error.png
index 38ca4ab70..6230cc37d 100644
Binary files a/modules/message/skins/xedition/img/error.png and b/modules/message/skins/xedition/img/error.png differ
diff --git a/modules/page/tpl/images/buttonTypeACenter.gif b/modules/page/tpl/images/buttonTypeACenter.gif
index 56127ea2e..705b1fb9e 100644
Binary files a/modules/page/tpl/images/buttonTypeACenter.gif and b/modules/page/tpl/images/buttonTypeACenter.gif differ
diff --git a/modules/poll/skins/default/images/back_bar.png b/modules/poll/skins/default/images/back_bar.png
index 8ef71686d..c5d9a6b05 100755
Binary files a/modules/poll/skins/default/images/back_bar.png and b/modules/poll/skins/default/images/back_bar.png differ
diff --git a/modules/poll/skins/default/images/color_bar.png b/modules/poll/skins/default/images/color_bar.png
index 2afe557c0..e16534fc8 100755
Binary files a/modules/poll/skins/default/images/color_bar.png and b/modules/poll/skins/default/images/color_bar.png differ
diff --git a/modules/poll/skins/default/images/lb.png b/modules/poll/skins/default/images/lb.png
index 0cc989c98..ae384b9db 100755
Binary files a/modules/poll/skins/default/images/lb.png and b/modules/poll/skins/default/images/lb.png differ
diff --git a/modules/poll/skins/default/images/lh.png b/modules/poll/skins/default/images/lh.png
index a12dca5dc..18b0c2d1c 100755
Binary files a/modules/poll/skins/default/images/lh.png and b/modules/poll/skins/default/images/lh.png differ
diff --git a/modules/poll/skins/default/images/pipe.png b/modules/poll/skins/default/images/pipe.png
index d560aa240..9ada4cf18 100755
Binary files a/modules/poll/skins/default/images/pipe.png and b/modules/poll/skins/default/images/pipe.png differ
diff --git a/modules/poll/skins/default/images/rb.png b/modules/poll/skins/default/images/rb.png
index d74208c12..b75ec280d 100755
Binary files a/modules/poll/skins/default/images/rb.png and b/modules/poll/skins/default/images/rb.png differ
diff --git a/modules/poll/skins/default/images/rh.png b/modules/poll/skins/default/images/rh.png
index 4e4924628..5437131f5 100755
Binary files a/modules/poll/skins/default/images/rh.png and b/modules/poll/skins/default/images/rh.png differ
diff --git a/modules/poll/skins/default/images/rlb.png b/modules/poll/skins/default/images/rlb.png
index 95144eb49..901a7514f 100755
Binary files a/modules/poll/skins/default/images/rlb.png and b/modules/poll/skins/default/images/rlb.png differ
diff --git a/modules/poll/skins/default/images/rrb.png b/modules/poll/skins/default/images/rrb.png
index 791f763e5..aecfa13da 100755
Binary files a/modules/poll/skins/default/images/rrb.png and b/modules/poll/skins/default/images/rrb.png differ
diff --git a/modules/poll/skins/default/images/top_bg.png b/modules/poll/skins/default/images/top_bg.png
index 00bfe3d56..2cb4593df 100755
Binary files a/modules/poll/skins/default/images/top_bg.png and b/modules/poll/skins/default/images/top_bg.png differ
diff --git a/modules/poll/skins/default/images/top_title_bg.png b/modules/poll/skins/default/images/top_title_bg.png
index 900ebbb22..42870174a 100755
Binary files a/modules/poll/skins/default/images/top_title_bg.png and b/modules/poll/skins/default/images/top_title_bg.png differ
diff --git a/modules/widget/tpl/images/widgetstyle_none.gif b/modules/widget/tpl/images/widgetstyle_none.gif
index 40a9eef4e..f4a82d00a 100644
Binary files a/modules/widget/tpl/images/widgetstyle_none.gif and b/modules/widget/tpl/images/widgetstyle_none.gif differ
diff --git a/tests/Install.suite.dist.yml b/tests/Install.suite.dist.yml
new file mode 100644
index 000000000..c24bfbd37
--- /dev/null
+++ b/tests/Install.suite.dist.yml
@@ -0,0 +1,28 @@
+class_name: InstallTester
+modules:
+ enabled: [Db, PhpBrowser, DbDropTablesHelper, InstallHelper]
+ config:
+ PhpBrowser:
+ url: 'http://localhost:8000/'
+ DbDropTablesHelper:
+ dsn: 'mysql:host=127.0.0.1;dbname=xe_test'
+ user: 'root'
+ password: 'root'
+ Db:
+ dsn: 'mysql:host=127.0.0.1;dbname=xe_test'
+ user: 'root'
+ password: 'root'
+ cleanup: true
+env:
+ travis:
+ modules:
+ config:
+ Db:
+ dsn: 'mysql:host=127.0.0.1;dbname=xe_test'
+ user: 'travis'
+ password: 'travis'
+ cleanup: true
+ DbDropTablesHelper:
+ dsn: 'mysql:host=127.0.0.1;dbname=xe_test'
+ user: 'travis'
+ password: 'travis'
diff --git a/tests/install/installCept.php b/tests/Install/InstallCept.php
similarity index 95%
rename from tests/install/installCept.php
rename to tests/Install/InstallCept.php
index d5c0bf171..4a0621535 100644
--- a/tests/install/installCept.php
+++ b/tests/Install/InstallCept.php
@@ -3,13 +3,13 @@ use \Codeception\Configuration;
$I = new InstallTester($scenario);
-$config = (!$this->env) ? Configuration::config() : Configuration::suiteEnvironments('install')[$this->env];
+$config = (!$this->env) ? Configuration::suiteSettings('Install', Configuration::config()) : Configuration::suiteEnvironments('Install')[$this->env];
+
$db_config = $config['modules']['config']['Db'];
$dsn = $db_config['dsn'];
$dsn = split('[;:]', $dsn);
$db_type = array_shift($dsn);
-
$dbinfo = [
'type' => $db_type,
'user' => $db_config['user'],
@@ -17,7 +17,6 @@ $dbinfo = [
'dbname' => 'xe_install',
'port' => ((isset($db_config['port']) && $db_config['port'])?: 3306),
];
-
foreach($dsn as $piece) {
list($key, $val) = explode('=', $piece);
$dbinfo[$key] = $val;
diff --git a/tests/install/InstallTester.php b/tests/Install/InstallTester.php
similarity index 91%
rename from tests/install/InstallTester.php
rename to tests/Install/InstallTester.php
index fe24ccae1..5d2e8626a 100644
--- a/tests/install/InstallTester.php
+++ b/tests/Install/InstallTester.php
@@ -1,12 +1,14 @@
-haveInDatabase('users', array('name' => 'miles', 'email' => 'miles@davis.com'));
+ * ?>
+ * ```
+ *
+ * @param $table
+ * @param array $data
+ *
+ * @return integer $id
+ * @see \Codeception\Module\Db::haveInDatabase()
+ */
+ public function haveInDatabase($table, $data) {
+ return $this->scenario->runStep(new \Codeception\Step\Action('haveInDatabase', func_get_args()));
+ }
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ * Checks if a row with given column values exists.
+ * Provide table name and column values.
+ *
+ * Example:
+ *
+ * ``` php
+ * seeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com'));
+ *
+ * ```
+ * Will generate:
+ *
+ * ``` sql
+ * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com'
+ * ```
+ * Fails if no such user found.
+ *
+ * @param $table
+ * @param array $criteria
+ * Conditional Assertion: Test won't be stopped on fail
+ * @see \Codeception\Module\Db::seeInDatabase()
+ */
+ public function canSeeInDatabase($table, $criteria = null) {
+ return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInDatabase', func_get_args()));
+ }
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ * Checks if a row with given column values exists.
+ * Provide table name and column values.
+ *
+ * Example:
+ *
+ * ``` php
+ * seeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com'));
+ *
+ * ```
+ * Will generate:
+ *
+ * ``` sql
+ * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com'
+ * ```
+ * Fails if no such user found.
+ *
+ * @param $table
+ * @param array $criteria
+ * @see \Codeception\Module\Db::seeInDatabase()
+ */
+ public function seeInDatabase($table, $criteria = null) {
+ return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInDatabase', func_get_args()));
+ }
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ * Effect is opposite to ->seeInDatabase
+ *
+ * Checks if there is no record with such column values in database.
+ * Provide table name and column values.
+ *
+ * Example:
+ *
+ * ``` php
+ * dontSeeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com'));
+ *
+ * ```
+ * Will generate:
+ *
+ * ``` sql
+ * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com'
+ * ```
+ * Fails if such user was found.
+ *
+ * @param $table
+ * @param array $criteria
+ * Conditional Assertion: Test won't be stopped on fail
+ * @see \Codeception\Module\Db::dontSeeInDatabase()
+ */
+ public function cantSeeInDatabase($table, $criteria = null) {
+ return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInDatabase', func_get_args()));
+ }
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ * Effect is opposite to ->seeInDatabase
+ *
+ * Checks if there is no record with such column values in database.
+ * Provide table name and column values.
+ *
+ * Example:
+ *
+ * ``` php
+ * dontSeeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com'));
+ *
+ * ```
+ * Will generate:
+ *
+ * ``` sql
+ * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com'
+ * ```
+ * Fails if such user was found.
+ *
+ * @param $table
+ * @param array $criteria
+ * @see \Codeception\Module\Db::dontSeeInDatabase()
+ */
+ public function dontSeeInDatabase($table, $criteria = null) {
+ return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInDatabase', func_get_args()));
+ }
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ * Fetches a single column value from a database.
+ * Provide table name, desired column and criteria.
+ *
+ * Example:
+ *
+ * ``` php
+ * grabFromDatabase('users', 'email', array('name' => 'Davert'));
+ *
+ * ```
+ *
+ * @version 1.1
+ *
+ * @param $table
+ * @param $column
+ * @param array $criteria
+ *
+ * @return mixed
+ * @see \Codeception\Module\Db::grabFromDatabase()
+ */
+ public function grabFromDatabase($table, $column, $criteria = null) {
+ return $this->scenario->runStep(new \Codeception\Step\Action('grabFromDatabase', func_get_args()));
+ }
+
+
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
@@ -1915,4 +2085,15 @@ class InstallTester extends \Codeception\Actor
public function dontSeeInTitle($title) {
return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInTitle', func_get_args()));
}
+
+
+ /**
+ * [!] Method is generated. Documentation taken from corresponding module.
+ *
+ *
+ * @see \Codeception\Module\DbDropTablesHelper::cleanup()
+ */
+ public function cleanup() {
+ return $this->scenario->runStep(new \Codeception\Step\Action('cleanup', func_get_args()));
+ }
}
diff --git a/tests/acceptance/_bootstrap.php b/tests/Install/_bootstrap.php
similarity index 100%
rename from tests/acceptance/_bootstrap.php
rename to tests/Install/_bootstrap.php
diff --git a/tests/_support/AcceptanceHelper.php b/tests/_support/AcceptanceHelper.php
deleted file mode 100644
index ed5f2393d..000000000
--- a/tests/_support/AcceptanceHelper.php
+++ /dev/null
@@ -1,10 +0,0 @@
-driver->getDbh();
+ if (!$dbh) {
+ throw new ModuleConfigException(
+ __CLASS__,
+ "No connection to database. Remove this module from config if you don't need database repopulation"
+ );
+ }
+
+ try {
+ $this->driver->cleanup();
+ } catch (\Exception $e) {
+ throw new ModuleException(__CLASS__, $e->getMessage());
+ }
+ }
+}
diff --git a/tests/_support/FunctionalHelper.php b/tests/_support/FunctionalHelper.php
deleted file mode 100644
index 00207a24b..000000000
--- a/tests/_support/FunctionalHelper.php
+++ /dev/null
@@ -1,10 +0,0 @@
-setHeader('X-Requested-With', 'Codeception');
- * $I->amOnPage('test-headers.php');
- * ?>
- * ```
- *
- * @param string $name the name of the request header
- * @param string $value the value to set it to for subsequent
- * requests
- * @see \Codeception\Module\PhpBrowser::setHeader()
- */
- public function setHeader($name, $value) {
- return $this->scenario->runStep(new \Codeception\Step\Action('setHeader', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Deletes the header with the passed name. Subsequent requests
- * will not have the deleted header in its request.
- *
- * Example:
- * ```php
- * setHeader('X-Requested-With', 'Codeception');
- * $I->amOnPage('test-headers.php');
- * // ...
- * $I->deleteHeader('X-Requested-With');
- * $I->amOnPage('some-other-page.php');
- * ?>
- * ```
- *
- * @param string $name the name of the header to delete.
- * @see \Codeception\Module\PhpBrowser::deleteHeader()
- */
- public function deleteHeader($name) {
- return $this->scenario->runStep(new \Codeception\Step\Action('deleteHeader', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Authenticates user for HTTP_AUTH
- *
- * @param $username
- * @param $password
- * @see \Codeception\Module\PhpBrowser::amHttpAuthenticated()
- */
- public function amHttpAuthenticated($username, $password) {
- return $this->scenario->runStep(new \Codeception\Step\Condition('amHttpAuthenticated', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Opens the page for the given relative URI.
- *
- * ``` php
- * amOnPage('/');
- * // opens /register page
- * $I->amOnPage('/register');
- * ?>
- * ```
- *
- * @param $page
- * @see \Codeception\Module\PhpBrowser::amOnPage()
- */
- public function amOnPage($page) {
- return $this->scenario->runStep(new \Codeception\Step\Condition('amOnPage', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Open web page at the given absolute URL and sets its hostname as the base host.
- *
- * ``` php
- * amOnUrl('http://codeception.com');
- * $I->amOnPage('/quickstart'); // moves to http://codeception.com/quickstart
- * ?>
- * ```
- * @see \Codeception\Module\PhpBrowser::amOnUrl()
- */
- public function amOnUrl($url) {
- return $this->scenario->runStep(new \Codeception\Step\Condition('amOnUrl', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Changes the subdomain for the 'url' configuration parameter.
- * Does not open a page; use `amOnPage` for that.
- *
- * ``` php
- * amOnSubdomain('user');
- * $I->amOnPage('/');
- * // moves to http://user.mysite.com/
- * ?>
- * ```
- *
- * @param $subdomain
- *
- * @return mixed
- * @see \Codeception\Module\PhpBrowser::amOnSubdomain()
- */
- public function amOnSubdomain($subdomain) {
- return $this->scenario->runStep(new \Codeception\Step\Condition('amOnSubdomain', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Low-level API method.
- * If Codeception commands are not enough, use [Guzzle HTTP Client](http://guzzlephp.org/) methods directly
- *
- * Example:
- *
- * ``` php
- * executeInGuzzle(function (\GuzzleHttp\Client $client) {
- * $client->get('/get', ['query' => ['foo' => 'bar']]);
- * });
- * ?>
- * ```
- *
- * It is not recommended to use this command on a regular basis.
- * If Codeception lacks important Guzzle Client methods, implement them and submit patches.
- *
- * @param callable $function
- * @see \Codeception\Module\PhpBrowser::executeInGuzzle()
- */
- public function executeInGuzzle($function) {
- return $this->scenario->runStep(new \Codeception\Step\Action('executeInGuzzle', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Perform a click on a link or a button, given by a locator.
- * If a fuzzy locator is given, the page will be searched for a button, link, or image matching the locator string.
- * For buttons, the "value" attribute, "name" attribute, and inner text are searched.
- * For links, the link text is searched.
- * For images, the "alt" attribute and inner text of any parent links are searched.
- *
- * The second parameter is a context (CSS or XPath locator) to narrow the search.
- *
- * Note that if the locator matches a button of type `submit`, the form will be submitted.
- *
- * ``` php
- * click('Logout');
- * // button of form
- * $I->click('Submit');
- * // CSS button
- * $I->click('#form input[type=submit]');
- * // XPath
- * $I->click('//form/*[@type=submit]');
- * // link in context
- * $I->click('Logout', '#nav');
- * // using strict locator
- * $I->click(['link' => 'Login']);
- * ?>
- * ```
- *
- * @param $link
- * @param $context
- * @see \Codeception\Lib\InnerBrowser::click()
- */
- public function click($link, $context = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('click', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current page contains the given string.
- * Specify a locator as the second parameter to match a specific region.
- *
- * ``` php
- * see('Logout'); // I can suppose user is logged in
- * $I->see('Sign Up','h1'); // I can suppose it's a signup page
- * $I->see('Sign Up','//body/h1'); // with XPath
- * ?>
- * ```
- *
- * @param $text
- * @param null $selector
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::see()
- */
- public function canSee($text, $selector = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('see', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current page contains the given string.
- * Specify a locator as the second parameter to match a specific region.
- *
- * ``` php
- * see('Logout'); // I can suppose user is logged in
- * $I->see('Sign Up','h1'); // I can suppose it's a signup page
- * $I->see('Sign Up','//body/h1'); // with XPath
- * ?>
- * ```
- *
- * @param $text
- * @param null $selector
- * @see \Codeception\Lib\InnerBrowser::see()
- */
- public function see($text, $selector = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('see', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current page doesn't contain the text specified.
- * Give a locator as the second parameter to match a specific region.
- *
- * ```php
- * dontSee('Login'); // I can suppose user is already logged in
- * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page
- * $I->dontSee('Sign Up','//body/h1'); // with XPath
- * ?>
- * ```
- *
- * @param $text
- * @param null $selector
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSee()
- */
- public function cantSee($text, $selector = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSee', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current page doesn't contain the text specified.
- * Give a locator as the second parameter to match a specific region.
- *
- * ```php
- * dontSee('Login'); // I can suppose user is already logged in
- * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page
- * $I->dontSee('Sign Up','//body/h1'); // with XPath
- * ?>
- * ```
- *
- * @param $text
- * @param null $selector
- * @see \Codeception\Lib\InnerBrowser::dontSee()
- */
- public function dontSee($text, $selector = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSee', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that there's a link with the specified text.
- * Give a full URL as the second parameter to match links with that exact URL.
- *
- * ``` php
- * seeLink('Logout'); // matches
Logout
- * $I->seeLink('Logout','/logout'); // matches
Logout
- * ?>
- * ```
- *
- * @param $text
- * @param null $url
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeLink()
- */
- public function canSeeLink($text, $url = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeLink', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that there's a link with the specified text.
- * Give a full URL as the second parameter to match links with that exact URL.
- *
- * ``` php
- * seeLink('Logout'); // matches
Logout
- * $I->seeLink('Logout','/logout'); // matches
Logout
- * ?>
- * ```
- *
- * @param $text
- * @param null $url
- * @see \Codeception\Lib\InnerBrowser::seeLink()
- */
- public function seeLink($text, $url = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeLink', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the page doesn't contain a link with the given string.
- * If the second parameter is given, only links with a matching "href" attribute will be checked.
- *
- * ``` php
- * dontSeeLink('Logout'); // I suppose user is not logged in
- * $I->dontSeeLink('Checkout now', '/store/cart.php');
- * ?>
- * ```
- *
- * @param $text
- * @param null $url
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeLink()
- */
- public function cantSeeLink($text, $url = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeLink', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the page doesn't contain a link with the given string.
- * If the second parameter is given, only links with a matching "href" attribute will be checked.
- *
- * ``` php
- * dontSeeLink('Logout'); // I suppose user is not logged in
- * $I->dontSeeLink('Checkout now', '/store/cart.php');
- * ?>
- * ```
- *
- * @param $text
- * @param null $url
- * @see \Codeception\Lib\InnerBrowser::dontSeeLink()
- */
- public function dontSeeLink($text, $url = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeLink', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that current URI contains the given string.
- *
- * ``` php
- * seeInCurrentUrl('home');
- * // to match: /users/1
- * $I->seeInCurrentUrl('/users/');
- * ?>
- * ```
- *
- * @param $uri
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeInCurrentUrl()
- */
- public function canSeeInCurrentUrl($uri) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInCurrentUrl', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that current URI contains the given string.
- *
- * ``` php
- * seeInCurrentUrl('home');
- * // to match: /users/1
- * $I->seeInCurrentUrl('/users/');
- * ?>
- * ```
- *
- * @param $uri
- * @see \Codeception\Lib\InnerBrowser::seeInCurrentUrl()
- */
- public function seeInCurrentUrl($uri) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInCurrentUrl', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URI doesn't contain the given string.
- *
- * ``` php
- * dontSeeInCurrentUrl('/users/');
- * ?>
- * ```
- *
- * @param $uri
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeInCurrentUrl()
- */
- public function cantSeeInCurrentUrl($uri) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInCurrentUrl', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URI doesn't contain the given string.
- *
- * ``` php
- * dontSeeInCurrentUrl('/users/');
- * ?>
- * ```
- *
- * @param $uri
- * @see \Codeception\Lib\InnerBrowser::dontSeeInCurrentUrl()
- */
- public function dontSeeInCurrentUrl($uri) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInCurrentUrl', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URL is equal to the given string.
- * Unlike `seeInCurrentUrl`, this only matches the full URL.
- *
- * ``` php
- * seeCurrentUrlEquals('/');
- * ?>
- * ```
- *
- * @param $uri
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlEquals()
- */
- public function canSeeCurrentUrlEquals($uri) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlEquals', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URL is equal to the given string.
- * Unlike `seeInCurrentUrl`, this only matches the full URL.
- *
- * ``` php
- * seeCurrentUrlEquals('/');
- * ?>
- * ```
- *
- * @param $uri
- * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlEquals()
- */
- public function seeCurrentUrlEquals($uri) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCurrentUrlEquals', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URL doesn't equal the given string.
- * Unlike `dontSeeInCurrentUrl`, this only matches the full URL.
- *
- * ``` php
- * dontSeeCurrentUrlEquals('/');
- * ?>
- * ```
- *
- * @param $uri
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlEquals()
- */
- public function cantSeeCurrentUrlEquals($uri) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlEquals', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URL doesn't equal the given string.
- * Unlike `dontSeeInCurrentUrl`, this only matches the full URL.
- *
- * ``` php
- * dontSeeCurrentUrlEquals('/');
- * ?>
- * ```
- *
- * @param $uri
- * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlEquals()
- */
- public function dontSeeCurrentUrlEquals($uri) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlEquals', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URL matches the given regular expression.
- *
- * ``` php
- * seeCurrentUrlMatches('~$/users/(\d+)~');
- * ?>
- * ```
- *
- * @param $uri
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlMatches()
- */
- public function canSeeCurrentUrlMatches($uri) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlMatches', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the current URL matches the given regular expression.
- *
- * ``` php
- * seeCurrentUrlMatches('~$/users/(\d+)~');
- * ?>
- * ```
- *
- * @param $uri
- * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlMatches()
- */
- public function seeCurrentUrlMatches($uri) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCurrentUrlMatches', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that current url doesn't match the given regular expression.
- *
- * ``` php
- * dontSeeCurrentUrlMatches('~$/users/(\d+)~');
- * ?>
- * ```
- *
- * @param $uri
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlMatches()
- */
- public function cantSeeCurrentUrlMatches($uri) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlMatches', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that current url doesn't match the given regular expression.
- *
- * ``` php
- * dontSeeCurrentUrlMatches('~$/users/(\d+)~');
- * ?>
- * ```
- *
- * @param $uri
- * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlMatches()
- */
- public function dontSeeCurrentUrlMatches($uri) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlMatches', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Executes the given regular expression against the current URI and returns the first match.
- * If no parameters are provided, the full URI is returned.
- *
- * ``` php
- * grabFromCurrentUrl('~$/user/(\d+)/~');
- * $uri = $I->grabFromCurrentUrl();
- * ?>
- * ```
- *
- * @param null $uri
- *
- * @internal param $url
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::grabFromCurrentUrl()
- */
- public function grabFromCurrentUrl($uri = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('grabFromCurrentUrl', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the specified checkbox is checked.
- *
- * ``` php
- * seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms
- * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form.
- * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]');
- * ?>
- * ```
- *
- * @param $checkbox
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeCheckboxIsChecked()
- */
- public function canSeeCheckboxIsChecked($checkbox) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCheckboxIsChecked', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the specified checkbox is checked.
- *
- * ``` php
- * seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms
- * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form.
- * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]');
- * ?>
- * ```
- *
- * @param $checkbox
- * @see \Codeception\Lib\InnerBrowser::seeCheckboxIsChecked()
- */
- public function seeCheckboxIsChecked($checkbox) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCheckboxIsChecked', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Check that the specified checkbox is unchecked.
- *
- * ``` php
- * dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms
- * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form.
- * ?>
- * ```
- *
- * @param $checkbox
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeCheckboxIsChecked()
- */
- public function cantSeeCheckboxIsChecked($checkbox) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCheckboxIsChecked', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Check that the specified checkbox is unchecked.
- *
- * ``` php
- * dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms
- * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form.
- * ?>
- * ```
- *
- * @param $checkbox
- * @see \Codeception\Lib\InnerBrowser::dontSeeCheckboxIsChecked()
- */
- public function dontSeeCheckboxIsChecked($checkbox) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCheckboxIsChecked', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given input field or textarea contains the given value.
- * For fuzzy locators, fields are matched by label text, the "name" attribute, CSS, and XPath.
- *
- * ``` php
- * seeInField('Body','Type your comment here');
- * $I->seeInField('form textarea[name=body]','Type your comment here');
- * $I->seeInField('form input[type=hidden]','hidden_value');
- * $I->seeInField('#searchform input','Search');
- * $I->seeInField('//form/*[@name=search]','Search');
- * $I->seeInField(['name' => 'search'], 'Search');
- * ?>
- * ```
- *
- * @param $field
- * @param $value
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeInField()
- */
- public function canSeeInField($field, $value) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInField', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given input field or textarea contains the given value.
- * For fuzzy locators, fields are matched by label text, the "name" attribute, CSS, and XPath.
- *
- * ``` php
- * seeInField('Body','Type your comment here');
- * $I->seeInField('form textarea[name=body]','Type your comment here');
- * $I->seeInField('form input[type=hidden]','hidden_value');
- * $I->seeInField('#searchform input','Search');
- * $I->seeInField('//form/*[@name=search]','Search');
- * $I->seeInField(['name' => 'search'], 'Search');
- * ?>
- * ```
- *
- * @param $field
- * @param $value
- * @see \Codeception\Lib\InnerBrowser::seeInField()
- */
- public function seeInField($field, $value) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInField', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that an input field or textarea doesn't contain the given value.
- * For fuzzy locators, the field is matched by label text, CSS and XPath.
- *
- * ``` php
- * dontSeeInField('Body','Type your comment here');
- * $I->dontSeeInField('form textarea[name=body]','Type your comment here');
- * $I->dontSeeInField('form input[type=hidden]','hidden_value');
- * $I->dontSeeInField('#searchform input','Search');
- * $I->dontSeeInField('//form/*[@name=search]','Search');
- * $I->dontSeeInField(['name' => 'search'], 'Search');
- * ?>
- * ```
- *
- * @param $field
- * @param $value
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeInField()
- */
- public function cantSeeInField($field, $value) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInField', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that an input field or textarea doesn't contain the given value.
- * For fuzzy locators, the field is matched by label text, CSS and XPath.
- *
- * ``` php
- * dontSeeInField('Body','Type your comment here');
- * $I->dontSeeInField('form textarea[name=body]','Type your comment here');
- * $I->dontSeeInField('form input[type=hidden]','hidden_value');
- * $I->dontSeeInField('#searchform input','Search');
- * $I->dontSeeInField('//form/*[@name=search]','Search');
- * $I->dontSeeInField(['name' => 'search'], 'Search');
- * ?>
- * ```
- *
- * @param $field
- * @param $value
- * @see \Codeception\Lib\InnerBrowser::dontSeeInField()
- */
- public function dontSeeInField($field, $value) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInField', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if the array of form parameters (name => value) are set on the form matched with the
- * passed selector.
- *
- * ``` php
- * seeInFormFields('form[name=myform]', [
- * 'input1' => 'value',
- * 'input2' => 'other value',
- * ]);
- * ?>
- * ```
- *
- * For multi-select elements, or to check values of multiple elements with the same name, an
- * array may be passed:
- *
- * ``` php
- * seeInFormFields('.form-class', [
- * 'multiselect' => [
- * 'value1',
- * 'value2',
- * ],
- * 'checkbox[]' => [
- * 'a checked value',
- * 'another checked value',
- * ],
- * ]);
- * ?>
- * ```
- *
- * Additionally, checkbox values can be checked with a boolean.
- *
- * ``` php
- * seeInFormFields('#form-id', [
- * 'checkbox1' => true, // passes if checked
- * 'checkbox2' => false, // passes if unchecked
- * ]);
- * ?>
- * ```
- *
- * Pair this with submitForm for quick testing magic.
- *
- * ``` php
- * 'value',
- * 'field2' => 'another value',
- * 'checkbox1' => true,
- * // ...
- * ];
- * $I->submitForm('//form[@id=my-form]', $form, 'submitButton');
- * // $I->amOnPage('/path/to/form-page') may be needed
- * $I->seeInFormFields('//form[@id=my-form]', $form);
- * ?>
- * ```
- *
- * @param $formSelector
- * @param $params
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeInFormFields()
- */
- public function canSeeInFormFields($formSelector, $params) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInFormFields', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if the array of form parameters (name => value) are set on the form matched with the
- * passed selector.
- *
- * ``` php
- * seeInFormFields('form[name=myform]', [
- * 'input1' => 'value',
- * 'input2' => 'other value',
- * ]);
- * ?>
- * ```
- *
- * For multi-select elements, or to check values of multiple elements with the same name, an
- * array may be passed:
- *
- * ``` php
- * seeInFormFields('.form-class', [
- * 'multiselect' => [
- * 'value1',
- * 'value2',
- * ],
- * 'checkbox[]' => [
- * 'a checked value',
- * 'another checked value',
- * ],
- * ]);
- * ?>
- * ```
- *
- * Additionally, checkbox values can be checked with a boolean.
- *
- * ``` php
- * seeInFormFields('#form-id', [
- * 'checkbox1' => true, // passes if checked
- * 'checkbox2' => false, // passes if unchecked
- * ]);
- * ?>
- * ```
- *
- * Pair this with submitForm for quick testing magic.
- *
- * ``` php
- * 'value',
- * 'field2' => 'another value',
- * 'checkbox1' => true,
- * // ...
- * ];
- * $I->submitForm('//form[@id=my-form]', $form, 'submitButton');
- * // $I->amOnPage('/path/to/form-page') may be needed
- * $I->seeInFormFields('//form[@id=my-form]', $form);
- * ?>
- * ```
- *
- * @param $formSelector
- * @param $params
- * @see \Codeception\Lib\InnerBrowser::seeInFormFields()
- */
- public function seeInFormFields($formSelector, $params) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInFormFields', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if the array of form parameters (name => value) are not set on the form matched with
- * the passed selector.
- *
- * ``` php
- * dontSeeInFormFields('form[name=myform]', [
- * 'input1' => 'non-existent value',
- * 'input2' => 'other non-existent value',
- * ]);
- * ?>
- * ```
- *
- * To check that an element hasn't been assigned any one of many values, an array can be passed
- * as the value:
- *
- * ``` php
- * dontSeeInFormFields('.form-class', [
- * 'fieldName' => [
- * 'This value shouldn\'t be set',
- * 'And this value shouldn\'t be set',
- * ],
- * ]);
- * ?>
- * ```
- *
- * Additionally, checkbox values can be checked with a boolean.
- *
- * ``` php
- * dontSeeInFormFields('#form-id', [
- * 'checkbox1' => true, // fails if checked
- * 'checkbox2' => false, // fails if unchecked
- * ]);
- * ?>
- * ```
- *
- * @param $formSelector
- * @param $params
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeInFormFields()
- */
- public function cantSeeInFormFields($formSelector, $params) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInFormFields', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if the array of form parameters (name => value) are not set on the form matched with
- * the passed selector.
- *
- * ``` php
- * dontSeeInFormFields('form[name=myform]', [
- * 'input1' => 'non-existent value',
- * 'input2' => 'other non-existent value',
- * ]);
- * ?>
- * ```
- *
- * To check that an element hasn't been assigned any one of many values, an array can be passed
- * as the value:
- *
- * ``` php
- * dontSeeInFormFields('.form-class', [
- * 'fieldName' => [
- * 'This value shouldn\'t be set',
- * 'And this value shouldn\'t be set',
- * ],
- * ]);
- * ?>
- * ```
- *
- * Additionally, checkbox values can be checked with a boolean.
- *
- * ``` php
- * dontSeeInFormFields('#form-id', [
- * 'checkbox1' => true, // fails if checked
- * 'checkbox2' => false, // fails if unchecked
- * ]);
- * ?>
- * ```
- *
- * @param $formSelector
- * @param $params
- * @see \Codeception\Lib\InnerBrowser::dontSeeInFormFields()
- */
- public function dontSeeInFormFields($formSelector, $params) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInFormFields', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Submits the given form on the page, optionally with the given form values.
- * Give the form fields values as an array.
- *
- * Skipped fields will be filled by their values from the page.
- * You don't need to click the 'Submit' button afterwards.
- * This command itself triggers the request to form's action.
- *
- * You can optionally specify what button's value to include
- * in the request with the last parameter as an alternative to
- * explicitly setting its value in the second parameter, as
- * button values are not otherwise included in the request.
- *
- * Examples:
- *
- * ``` php
- * submitForm('#login', array('login' => 'davert', 'password' => '123456'));
- * // or
- * $I->submitForm('#login', array('login' => 'davert', 'password' => '123456'), 'submitButtonName');
- *
- * ```
- *
- * For example, given this sample "Sign Up" form:
- *
- * ``` html
- *
- * ```
- *
- * You could write the following to submit it:
- *
- * ``` php
- * submitForm('#userForm', array('user' => array('login' => 'Davert', 'password' => '123456', 'agree' => true)), 'submitButton');
- *
- * ```
- * Note that "2" will be the submitted value for the "plan" field, as it is the selected option.
- *
- * You can also emulate a JavaScript submission by not specifying any buttons in the third parameter to submitForm.
- *
- * ```php
- * submitForm('#userForm', array('user' => array('login' => 'Davert', 'password' => '123456', 'agree' => true)));
- *
- * ```
- *
- * Pair this with seeInFormFields for quick testing magic.
- *
- * ``` php
- * 'value',
- * 'field2' => 'another value',
- * 'checkbox1' => true,
- * // ...
- * ];
- * $I->submitForm('//form[@id=my-form]', $form, 'submitButton');
- * // $I->amOnPage('/path/to/form-page') may be needed
- * $I->seeInFormFields('//form[@id=my-form]', $form);
- * ?>
- * ```
- *
- * Parameter values can be set to arrays for multiple input fields
- * of the same name, or multi-select combo boxes. For checkboxes,
- * either the string value can be used, or boolean values which will
- * be replaced by the checkbox's value in the DOM.
- *
- * ``` php
- * submitForm('#my-form', [
- * 'field1' => 'value',
- * 'checkbox' => [
- * 'value of first checkbox',
- * 'value of second checkbox,
- * ],
- * 'otherCheckboxes' => [
- * true,
- * false,
- * false
- * ],
- * 'multiselect' => [
- * 'first option value',
- * 'second option value'
- * ]
- * ]);
- * ?>
- * ```
- *
- * Mixing string and boolean values for a checkbox's value is not
- * supported and may produce unexpected results.
- *
- * @param $selector
- * @param $params
- * @param $button
- * @see \Codeception\Lib\InnerBrowser::submitForm()
- */
- public function submitForm($selector, $params, $button = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('submitForm', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Fills a text field or textarea with the given string.
- *
- * ``` php
- * fillField("//input[@type='text']", "Hello World!");
- * $I->fillField(['name' => 'email'], 'jon@mail.com');
- * ?>
- * ```
- *
- * @param $field
- * @param $value
- * @see \Codeception\Lib\InnerBrowser::fillField()
- */
- public function fillField($field, $value) {
- return $this->scenario->runStep(new \Codeception\Step\Action('fillField', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Selects an option in a select tag or in radio button group.
- *
- * ``` php
- * selectOption('form select[name=account]', 'Premium');
- * $I->selectOption('form input[name=payment]', 'Monthly');
- * $I->selectOption('//form/select[@name=account]', 'Monthly');
- * ?>
- * ```
- *
- * Provide an array for the second argument to select multiple options:
- *
- * ``` php
- * selectOption('Which OS do you use?', array('Windows','Linux'));
- * ?>
- * ```
- *
- * @param $select
- * @param $option
- * @see \Codeception\Lib\InnerBrowser::selectOption()
- */
- public function selectOption($select, $option) {
- return $this->scenario->runStep(new \Codeception\Step\Action('selectOption', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Ticks a checkbox. For radio buttons, use the `selectOption` method instead.
- *
- * ``` php
- * checkOption('#agree');
- * ?>
- * ```
- *
- * @param $option
- * @see \Codeception\Lib\InnerBrowser::checkOption()
- */
- public function checkOption($option) {
- return $this->scenario->runStep(new \Codeception\Step\Action('checkOption', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Unticks a checkbox.
- *
- * ``` php
- * uncheckOption('#notify');
- * ?>
- * ```
- *
- * @param $option
- * @see \Codeception\Lib\InnerBrowser::uncheckOption()
- */
- public function uncheckOption($option) {
- return $this->scenario->runStep(new \Codeception\Step\Action('uncheckOption', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Attaches a file relative to the Codeception data directory to the given file upload field.
- *
- * ``` php
- * attachFile('input[@type="file"]', 'prices.xls');
- * ?>
- * ```
- *
- * @param $field
- * @param $filename
- * @see \Codeception\Lib\InnerBrowser::attachFile()
- */
- public function attachFile($field, $filename) {
- return $this->scenario->runStep(new \Codeception\Step\Action('attachFile', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * If your page triggers an ajax request, you can perform it manually.
- * This action sends a GET ajax request with specified params.
- *
- * See ->sendAjaxPostRequest for examples.
- *
- * @param $uri
- * @param $params
- * @see \Codeception\Lib\InnerBrowser::sendAjaxGetRequest()
- */
- public function sendAjaxGetRequest($uri, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('sendAjaxGetRequest', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * If your page triggers an ajax request, you can perform it manually.
- * This action sends a POST ajax request with specified params.
- * Additional params can be passed as array.
- *
- * Example:
- *
- * Imagine that by clicking checkbox you trigger ajax request which updates user settings.
- * We emulate that click by running this ajax request manually.
- *
- * ``` php
- * sendAjaxPostRequest('/updateSettings', array('notifications' => true)); // POST
- * $I->sendAjaxGetRequest('/updateSettings', array('notifications' => true)); // GET
- *
- * ```
- *
- * @param $uri
- * @param $params
- * @see \Codeception\Lib\InnerBrowser::sendAjaxPostRequest()
- */
- public function sendAjaxPostRequest($uri, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('sendAjaxPostRequest', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * If your page triggers an ajax request, you can perform it manually.
- * This action sends an ajax request with specified method and params.
- *
- * Example:
- *
- * You need to perform an ajax request specifying the HTTP method.
- *
- * ``` php
- * sendAjaxRequest('PUT', '/posts/7', array('title' => 'new title'));
- *
- * ```
- *
- * @param $method
- * @param $uri
- * @param $params
- * @see \Codeception\Lib\InnerBrowser::sendAjaxRequest()
- */
- public function sendAjaxRequest($method, $uri, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('sendAjaxRequest', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Finds and returns the text contents of the given element.
- * If a fuzzy locator is used, the element is found using CSS, XPath, and by matching the full page source by regular expression.
- *
- * ``` php
- * grabTextFrom('h1');
- * $heading = $I->grabTextFrom('descendant-or-self::h1');
- * $value = $I->grabTextFrom('~
- * ```
- *
- * @param $cssOrXPathOrRegex
- *
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::grabTextFrom()
- */
- public function grabTextFrom($cssOrXPathOrRegex) {
- return $this->scenario->runStep(new \Codeception\Step\Action('grabTextFrom', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Grabs the value of the given attribute value from the given element.
- * Fails if element is not found.
- *
- * ``` php
- * grabAttributeFrom('#tooltip', 'title');
- * ?>
- * ```
- *
- *
- * @param $cssOrXpath
- * @param $attribute
- * @internal param $element
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::grabAttributeFrom()
- */
- public function grabAttributeFrom($cssOrXpath, $attribute) {
- return $this->scenario->runStep(new \Codeception\Step\Action('grabAttributeFrom', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * @param $field
- *
- * @return array|mixed|null|string
- * @see \Codeception\Lib\InnerBrowser::grabValueFrom()
- */
- public function grabValueFrom($field) {
- return $this->scenario->runStep(new \Codeception\Step\Action('grabValueFrom', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Sets a cookie with the given name and value.
- * You can set additional cookie params like `domain`, `path`, `expire`, `secure` in array passed as last argument.
- *
- * ``` php
- * setCookie('PHPSESSID', 'el4ukv0kqbvoirg7nkp4dncpk3');
- * ?>
- * ```
- *
- * @param $name
- * @param $val
- * @param array $params
- * @internal param $cookie
- * @internal param $value
- *
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::setCookie()
- */
- public function setCookie($name, $val, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('setCookie', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Grabs a cookie value.
- * You can set additional cookie params like `domain`, `path` in array passed as last argument.
- *
- * @param $cookie
- *
- * @param array $params
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::grabCookie()
- */
- public function grabCookie($name, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('grabCookie', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that a cookie with the given name is set.
- * You can set additional cookie params like `domain`, `path` as array passed in last argument.
- *
- * ``` php
- * seeCookie('PHPSESSID');
- * ?>
- * ```
- *
- * @param $cookie
- * @param array $params
- * @return mixed
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeCookie()
- */
- public function canSeeCookie($name, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCookie', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that a cookie with the given name is set.
- * You can set additional cookie params like `domain`, `path` as array passed in last argument.
- *
- * ``` php
- * seeCookie('PHPSESSID');
- * ?>
- * ```
- *
- * @param $cookie
- * @param array $params
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::seeCookie()
- */
- public function seeCookie($name, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCookie', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that there isn't a cookie with the given name.
- * You can set additional cookie params like `domain`, `path` as array passed in last argument.
- *
- * @param $cookie
- *
- * @param array $params
- * @return mixed
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeCookie()
- */
- public function cantSeeCookie($name, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCookie', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that there isn't a cookie with the given name.
- * You can set additional cookie params like `domain`, `path` as array passed in last argument.
- *
- * @param $cookie
- *
- * @param array $params
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::dontSeeCookie()
- */
- public function dontSeeCookie($name, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCookie', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Unsets cookie with the given name.
- * You can set additional cookie params like `domain`, `path` in array passed as last argument.
- *
- * @param $cookie
- *
- * @param array $params
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::resetCookie()
- */
- public function resetCookie($name, $params = null) {
- return $this->scenario->runStep(new \Codeception\Step\Action('resetCookie', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given element exists on the page and is visible.
- * You can also specify expected attributes of this element.
- *
- * ``` php
- * seeElement('.error');
- * $I->seeElement('//form/input[1]');
- * $I->seeElement('input', ['name' => 'login']);
- * $I->seeElement('input', ['value' => '123456']);
- *
- * // strict locator in first arg, attributes in second
- * $I->seeElement(['css' => 'form input'], ['name' => 'login']);
- * ?>
- * ```
- *
- * @param $selector
- * @param array $attributes
- * @return
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeElement()
- */
- public function canSeeElement($selector, $attributes = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeElement', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given element exists on the page and is visible.
- * You can also specify expected attributes of this element.
- *
- * ``` php
- * seeElement('.error');
- * $I->seeElement('//form/input[1]');
- * $I->seeElement('input', ['name' => 'login']);
- * $I->seeElement('input', ['value' => '123456']);
- *
- * // strict locator in first arg, attributes in second
- * $I->seeElement(['css' => 'form input'], ['name' => 'login']);
- * ?>
- * ```
- *
- * @param $selector
- * @param array $attributes
- * @return
- * @see \Codeception\Lib\InnerBrowser::seeElement()
- */
- public function seeElement($selector, $attributes = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeElement', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given element is invisible or not present on the page.
- * You can also specify expected attributes of this element.
- *
- * ``` php
- * dontSeeElement('.error');
- * $I->dontSeeElement('//form/input[1]');
- * $I->dontSeeElement('input', ['name' => 'login']);
- * $I->dontSeeElement('input', ['value' => '123456']);
- * ?>
- * ```
- *
- * @param $selector
- * @param array $attributes
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeElement()
- */
- public function cantSeeElement($selector, $attributes = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeElement', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given element is invisible or not present on the page.
- * You can also specify expected attributes of this element.
- *
- * ``` php
- * dontSeeElement('.error');
- * $I->dontSeeElement('//form/input[1]');
- * $I->dontSeeElement('input', ['name' => 'login']);
- * $I->dontSeeElement('input', ['value' => '123456']);
- * ?>
- * ```
- *
- * @param $selector
- * @param array $attributes
- * @see \Codeception\Lib\InnerBrowser::dontSeeElement()
- */
- public function dontSeeElement($selector, $attributes = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeElement', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that there are a certain number of elements matched by the given locator on the page.
- *
- * ``` php
- * seeNumberOfElements('tr', 10);
- * $I->seeNumberOfElements('tr', [0,10]); //between 0 and 10 elements
- * ?>
- * ```
- * @param $selector
- * @param mixed $expected:
- * - string: strict number
- * - array: range of numbers [0,10]
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeNumberOfElements()
- */
- public function canSeeNumberOfElements($selector, $expected) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeNumberOfElements', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that there are a certain number of elements matched by the given locator on the page.
- *
- * ``` php
- * seeNumberOfElements('tr', 10);
- * $I->seeNumberOfElements('tr', [0,10]); //between 0 and 10 elements
- * ?>
- * ```
- * @param $selector
- * @param mixed $expected:
- * - string: strict number
- * - array: range of numbers [0,10]
- * @see \Codeception\Lib\InnerBrowser::seeNumberOfElements()
- */
- public function seeNumberOfElements($selector, $expected) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeNumberOfElements', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given option is selected.
- *
- * ``` php
- * seeOptionIsSelected('#form input[name=payment]', 'Visa');
- * ?>
- * ```
- *
- * @param $selector
- * @param $optionText
- *
- * @return mixed
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected()
- */
- public function canSeeOptionIsSelected($select, $optionText) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeOptionIsSelected', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given option is selected.
- *
- * ``` php
- * seeOptionIsSelected('#form input[name=payment]', 'Visa');
- * ?>
- * ```
- *
- * @param $selector
- * @param $optionText
- *
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected()
- */
- public function seeOptionIsSelected($select, $optionText) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeOptionIsSelected', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given option is not selected.
- *
- * ``` php
- * dontSeeOptionIsSelected('#form input[name=payment]', 'Visa');
- * ?>
- * ```
- *
- * @param $selector
- * @param $optionText
- *
- * @return mixed
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected()
- */
- public function cantSeeOptionIsSelected($select, $optionText) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeOptionIsSelected', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the given option is not selected.
- *
- * ``` php
- * dontSeeOptionIsSelected('#form input[name=payment]', 'Visa');
- * ?>
- * ```
- *
- * @param $selector
- * @param $optionText
- *
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected()
- */
- public function dontSeeOptionIsSelected($select, $optionText) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeOptionIsSelected', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Asserts that current page has 404 response status code.
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seePageNotFound()
- */
- public function canSeePageNotFound() {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seePageNotFound', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Asserts that current page has 404 response status code.
- * @see \Codeception\Lib\InnerBrowser::seePageNotFound()
- */
- public function seePageNotFound() {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seePageNotFound', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that response code is equal to value provided.
- *
- * @param $code
- *
- * @return mixed
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIs()
- */
- public function canSeeResponseCodeIs($code) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIs', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that response code is equal to value provided.
- *
- * @param $code
- *
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIs()
- */
- public function seeResponseCodeIs($code) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeResponseCodeIs', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the page title contains the given string.
- *
- * ``` php
- * seeInTitle('Blog - Post #1');
- * ?>
- * ```
- *
- * @param $title
- *
- * @return mixed
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::seeInTitle()
- */
- public function canSeeInTitle($title) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInTitle', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the page title contains the given string.
- *
- * ``` php
- * seeInTitle('Blog - Post #1');
- * ?>
- * ```
- *
- * @param $title
- *
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::seeInTitle()
- */
- public function seeInTitle($title) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInTitle', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the page title does not contain the given string.
- *
- * @param $title
- *
- * @return mixed
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Lib\InnerBrowser::dontSeeInTitle()
- */
- public function cantSeeInTitle($title) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInTitle', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks that the page title does not contain the given string.
- *
- * @param $title
- *
- * @return mixed
- * @see \Codeception\Lib\InnerBrowser::dontSeeInTitle()
- */
- public function dontSeeInTitle($title) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInTitle', func_get_args()));
- }
-}
diff --git a/tests/functional.suite.yml b/tests/functional.suite.yml
deleted file mode 100644
index 3b17a39dc..000000000
--- a/tests/functional.suite.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-# Codeception Test Suite Configuration
-
-# suite for functional (integration) tests.
-# emulate web requests and make application process them.
-# Include one of framework modules (Symfony2, Yii2, Laravel4) to use it.
-
-class_name: FunctionalTester
-modules:
- enabled: [Filesystem, FunctionalHelper]
diff --git a/tests/functional/FunctionalTester.php b/tests/functional/FunctionalTester.php
deleted file mode 100644
index 881603c17..000000000
--- a/tests/functional/FunctionalTester.php
+++ /dev/null
@@ -1,360 +0,0 @@
-scenario->runStep(new \Codeception\Step\Condition('amInPath', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Opens a file and stores it's content.
- *
- * Usage:
- *
- * ``` php
- * openFile('composer.json');
- * $I->seeInThisFile('codeception/codeception');
- * ?>
- * ```
- *
- * @param $filename
- * @see \Codeception\Module\Filesystem::openFile()
- */
- public function openFile($filename) {
- return $this->scenario->runStep(new \Codeception\Step\Action('openFile', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Deletes a file
- *
- * ``` php
- * deleteFile('composer.lock');
- * ?>
- * ```
- *
- * @param $filename
- * @see \Codeception\Module\Filesystem::deleteFile()
- */
- public function deleteFile($filename) {
- return $this->scenario->runStep(new \Codeception\Step\Action('deleteFile', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Deletes directory with all subdirectories
- *
- * ``` php
- * deleteDir('vendor');
- * ?>
- * ```
- *
- * @param $dirname
- * @see \Codeception\Module\Filesystem::deleteDir()
- */
- public function deleteDir($dirname) {
- return $this->scenario->runStep(new \Codeception\Step\Action('deleteDir', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Copies directory with all contents
- *
- * ``` php
- * copyDir('vendor','old_vendor');
- * ?>
- * ```
- *
- * @param $src
- * @param $dst
- * @see \Codeception\Module\Filesystem::copyDir()
- */
- public function copyDir($src, $dst) {
- return $this->scenario->runStep(new \Codeception\Step\Action('copyDir', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks If opened file has `text` in it.
- *
- * Usage:
- *
- * ``` php
- * openFile('composer.json');
- * $I->seeInThisFile('codeception/codeception');
- * ?>
- * ```
- *
- * @param $text
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Module\Filesystem::seeInThisFile()
- */
- public function canSeeInThisFile($text) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInThisFile', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks If opened file has `text` in it.
- *
- * Usage:
- *
- * ``` php
- * openFile('composer.json');
- * $I->seeInThisFile('codeception/codeception');
- * ?>
- * ```
- *
- * @param $text
- * @see \Codeception\Module\Filesystem::seeInThisFile()
- */
- public function seeInThisFile($text) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInThisFile', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks the strict matching of file contents.
- * Unlike `seeInThisFile` will fail if file has something more than expected lines.
- * Better to use with HEREDOC strings.
- * Matching is done after removing "\r" chars from file content.
- *
- * ``` php
- * openFile('process.pid');
- * $I->seeFileContentsEqual('3192');
- * ?>
- * ```
- *
- * @param $text
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Module\Filesystem::seeFileContentsEqual()
- */
- public function canSeeFileContentsEqual($text) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileContentsEqual', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks the strict matching of file contents.
- * Unlike `seeInThisFile` will fail if file has something more than expected lines.
- * Better to use with HEREDOC strings.
- * Matching is done after removing "\r" chars from file content.
- *
- * ``` php
- * openFile('process.pid');
- * $I->seeFileContentsEqual('3192');
- * ?>
- * ```
- *
- * @param $text
- * @see \Codeception\Module\Filesystem::seeFileContentsEqual()
- */
- public function seeFileContentsEqual($text) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileContentsEqual', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks If opened file doesn't contain `text` in it
- *
- * ``` php
- * openFile('composer.json');
- * $I->dontSeeInThisFile('codeception/codeception');
- * ?>
- * ```
- *
- * @param $text
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Module\Filesystem::dontSeeInThisFile()
- */
- public function cantSeeInThisFile($text) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInThisFile', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks If opened file doesn't contain `text` in it
- *
- * ``` php
- * openFile('composer.json');
- * $I->dontSeeInThisFile('codeception/codeception');
- * ?>
- * ```
- *
- * @param $text
- * @see \Codeception\Module\Filesystem::dontSeeInThisFile()
- */
- public function dontSeeInThisFile($text) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInThisFile', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Deletes a file
- * @see \Codeception\Module\Filesystem::deleteThisFile()
- */
- public function deleteThisFile() {
- return $this->scenario->runStep(new \Codeception\Step\Action('deleteThisFile', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if file exists in path.
- * Opens a file when it's exists
- *
- * ``` php
- * seeFileFound('UserModel.php','app/models');
- * ?>
- * ```
- *
- * @param $filename
- * @param string $path
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Module\Filesystem::seeFileFound()
- */
- public function canSeeFileFound($filename, $path = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileFound', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if file exists in path.
- * Opens a file when it's exists
- *
- * ``` php
- * seeFileFound('UserModel.php','app/models');
- * ?>
- * ```
- *
- * @param $filename
- * @param string $path
- * @see \Codeception\Module\Filesystem::seeFileFound()
- */
- public function seeFileFound($filename, $path = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileFound', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if file does not exists in path
- *
- * @param $filename
- * @param string $path
- * Conditional Assertion: Test won't be stopped on fail
- * @see \Codeception\Module\Filesystem::dontSeeFileFound()
- */
- public function cantSeeFileFound($filename, $path = null) {
- return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeFileFound', func_get_args()));
- }
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Checks if file does not exists in path
- *
- * @param $filename
- * @param string $path
- * @see \Codeception\Module\Filesystem::dontSeeFileFound()
- */
- public function dontSeeFileFound($filename, $path = null) {
- return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeFileFound', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Erases directory contents
- *
- * ``` php
- * cleanDir('logs');
- * ?>
- * ```
- *
- * @param $dirname
- * @see \Codeception\Module\Filesystem::cleanDir()
- */
- public function cleanDir($dirname) {
- return $this->scenario->runStep(new \Codeception\Step\Action('cleanDir', func_get_args()));
- }
-
-
- /**
- * [!] Method is generated. Documentation taken from corresponding module.
- *
- * Saves contents to file
- *
- * @param $filename
- * @param $contents
- * @see \Codeception\Module\Filesystem::writeToFile()
- */
- public function writeToFile($filename, $contents) {
- return $this->scenario->runStep(new \Codeception\Step\Action('writeToFile', func_get_args()));
- }
-}
diff --git a/tests/functional/_bootstrap.php b/tests/functional/_bootstrap.php
deleted file mode 100644
index 8a8855580..000000000
--- a/tests/functional/_bootstrap.php
+++ /dev/null
@@ -1,2 +0,0 @@
-installTester = $I;
- }
-
- /**
- * @return installPage
- */
- public static function of(InstallTester $I)
- {
- return new static($I);
- }
-}
\ No newline at end of file
diff --git a/tests/install/_steps/AdminSteps.php b/tests/install/_steps/AdminSteps.php
deleted file mode 100644
index 191c9ba9c..000000000
--- a/tests/install/_steps/AdminSteps.php
+++ /dev/null
@@ -1,18 +0,0 @@
-