WidgetTest.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Block;
  7. /**
  8. * Test class for \Magento\Backend\Block\Widget
  9. *
  10. * @magentoAppArea adminhtml
  11. */
  12. class WidgetTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /**
  15. * @covers \Magento\Backend\Block\Widget::getButtonHtml
  16. */
  17. public function testGetButtonHtml()
  18. {
  19. $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  20. \Magento\Framework\View\Layout::class,
  21. ['area' => \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE]
  22. );
  23. $layout->getUpdate()->load();
  24. $layout->generateXml()->generateElements();
  25. $widget = $layout->createBlock(\Magento\Backend\Block\Widget::class);
  26. $this->assertRegExp(
  27. '/<button.*onclick\=\"this.form.submit\(\)\".*\>[\s\S]*Button Label[\s\S]*<\/button>/iu',
  28. $widget->getButtonHtml('Button Label', 'this.form.submit()')
  29. );
  30. }
  31. /**
  32. * Case when two buttons will be created in same parent block
  33. *
  34. * @covers \Magento\Backend\Block\Widget::getButtonHtml
  35. */
  36. public function testGetButtonHtmlForTwoButtonsInOneBlock()
  37. {
  38. $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  39. \Magento\Framework\View\Layout::class,
  40. ['area' => \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE]
  41. );
  42. $layout->getUpdate()->load();
  43. $layout->generateXml()->generateElements();
  44. $widget = $layout->createBlock(\Magento\Backend\Block\Widget::class);
  45. $this->assertRegExp(
  46. '/<button.*onclick\=\"this.form.submit\(\)\".*\>[\s\S]*Button Label[\s\S]*<\/button>/iu',
  47. $widget->getButtonHtml('Button Label', 'this.form.submit()')
  48. );
  49. $this->assertRegExp(
  50. '/<button.*onclick\=\"this.form.submit\(\)\".*\>[\s\S]*Button Label2[\s\S]*<\/button>/iu',
  51. $widget->getButtonHtml('Button Label2', 'this.form.submit()')
  52. );
  53. }
  54. public function testGetSuffixId()
  55. {
  56. $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
  57. ->create(\Magento\Backend\Block\Widget::class);
  58. $this->assertStringEndsNotWith('_test', $block->getSuffixId('suffix'));
  59. $this->assertStringEndsWith('_test', $block->getSuffixId('test'));
  60. }
  61. }