'add_css', 'data' => 'p{ text-decoration:blink; }', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\AfterCommand */ public function testAfterCommand() { $command = new AfterCommand('#page-title', '

New Text!

', ['my-setting' => 'setting']); $expected = [ 'command' => 'insert', 'method' => 'after', 'selector' => '#page-title', 'data' => '

New Text!

', 'settings' => ['my-setting' => 'setting'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\AlertCommand */ public function testAlertCommand() { $command = new AlertCommand('Set condition 1 throughout the ship!'); $expected = [ 'command' => 'alert', 'text' => 'Set condition 1 throughout the ship!', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\AppendCommand */ public function testAppendCommand() { $command = new AppendCommand('#page-title', '

New Text!

', ['my-setting' => 'setting']); $expected = [ 'command' => 'insert', 'method' => 'append', 'selector' => '#page-title', 'data' => '

New Text!

', 'settings' => ['my-setting' => 'setting'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\BeforeCommand */ public function testBeforeCommand() { $command = new BeforeCommand('#page-title', '

New Text!

', ['my-setting' => 'setting']); $expected = [ 'command' => 'insert', 'method' => 'before', 'selector' => '#page-title', 'data' => '

New Text!

', 'settings' => ['my-setting' => 'setting'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\ChangedCommand */ public function testChangedCommand() { $command = new ChangedCommand('#page-title', '#page-title-changed'); $expected = [ 'command' => 'changed', 'selector' => '#page-title', 'asterisk' => '#page-title-changed', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\CssCommand */ public function testCssCommand() { $command = new CssCommand('#page-title', ['text-decoration' => 'blink']); $command->setProperty('font-size', '40px')->setProperty('font-weight', 'bold'); $expected = [ 'command' => 'css', 'selector' => '#page-title', 'argument' => [ 'text-decoration' => 'blink', 'font-size' => '40px', 'font-weight' => 'bold', ], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\DataCommand */ public function testDataCommand() { $command = new DataCommand('#page-title', 'my-data', ['key' => 'value']); $expected = [ 'command' => 'data', 'selector' => '#page-title', 'name' => 'my-data', 'value' => ['key' => 'value'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\HtmlCommand */ public function testHtmlCommand() { $command = new HtmlCommand('#page-title', '

New Text!

', ['my-setting' => 'setting']); $expected = [ 'command' => 'insert', 'method' => 'html', 'selector' => '#page-title', 'data' => '

New Text!

', 'settings' => ['my-setting' => 'setting'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\InsertCommand */ public function testInsertCommand() { $command = new InsertCommand('#page-title', '

New Text!

', ['my-setting' => 'setting']); $expected = [ 'command' => 'insert', 'method' => NULL, 'selector' => '#page-title', 'data' => '

New Text!

', 'settings' => ['my-setting' => 'setting'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\InvokeCommand */ public function testInvokeCommand() { $command = new InvokeCommand('#page-title', 'myMethod', ['var1', 'var2']); $expected = [ 'command' => 'invoke', 'selector' => '#page-title', 'method' => 'myMethod', 'args' => ['var1', 'var2'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\PrependCommand */ public function testPrependCommand() { $command = new PrependCommand('#page-title', '

New Text!

', ['my-setting' => 'setting']); $expected = [ 'command' => 'insert', 'method' => 'prepend', 'selector' => '#page-title', 'data' => '

New Text!

', 'settings' => ['my-setting' => 'setting'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\RemoveCommand */ public function testRemoveCommand() { $command = new RemoveCommand('#page-title'); $expected = [ 'command' => 'remove', 'selector' => '#page-title', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\ReplaceCommand */ public function testReplaceCommand() { $command = new ReplaceCommand('#page-title', '

New Text!

', ['my-setting' => 'setting']); $expected = [ 'command' => 'insert', 'method' => 'replaceWith', 'selector' => '#page-title', 'data' => '

New Text!

', 'settings' => ['my-setting' => 'setting'], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\RestripeCommand */ public function testRestripeCommand() { $command = new RestripeCommand('#page-title'); $expected = [ 'command' => 'restripe', 'selector' => '#page-title', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\SettingsCommand */ public function testSettingsCommand() { $command = new SettingsCommand(['key' => 'value'], TRUE); $expected = [ 'command' => 'settings', 'settings' => ['key' => 'value'], 'merge' => TRUE, ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\OpenDialogCommand */ public function testOpenDialogCommand() { $command = new OpenDialogCommand('#some-dialog', 'Title', '

Text!

', [ 'url' => FALSE, 'width' => 500, ]); $expected = [ 'command' => 'openDialog', 'selector' => '#some-dialog', 'settings' => NULL, 'data' => '

Text!

', 'dialogOptions' => [ 'url' => FALSE, 'width' => 500, 'title' => 'Title', 'modal' => FALSE, ], ]; $this->assertEquals($expected, $command->render()); $command->setDialogTitle('New title'); $expected['dialogOptions']['title'] = 'New title'; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\OpenModalDialogCommand */ public function testOpenModalDialogCommand() { $command = $this->getMockBuilder('Drupal\Core\Ajax\OpenModalDialogCommand') ->setConstructorArgs([ 'Title', '

Text!

', [ 'url' => 'example', 'width' => 500, ], ]) ->setMethods(['getRenderedContent']) ->getMock(); // This method calls the render service, which isn't available. We want it // to do nothing so we mock it to return a known value. $command->expects($this->once()) ->method('getRenderedContent') ->willReturn('rendered content'); $expected = [ 'command' => 'openDialog', 'selector' => '#drupal-modal', 'settings' => NULL, 'data' => 'rendered content', 'dialogOptions' => [ 'url' => 'example', 'width' => 500, 'title' => 'Title', 'modal' => TRUE, ], ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\CloseModalDialogCommand */ public function testCloseModalDialogCommand() { $command = new CloseModalDialogCommand(); $expected = [ 'command' => 'closeDialog', 'selector' => '#drupal-modal', 'persist' => FALSE, ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\CloseDialogCommand */ public function testCloseDialogCommand() { $command = new CloseDialogCommand('#some-dialog', TRUE); $expected = [ 'command' => 'closeDialog', 'selector' => '#some-dialog', 'persist' => TRUE, ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\SetDialogOptionCommand */ public function testSetDialogOptionCommand() { $command = new SetDialogOptionCommand('#some-dialog', 'width', '500'); $expected = [ 'command' => 'setDialogOption', 'selector' => '#some-dialog', 'optionName' => 'width', 'optionValue' => '500', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\SetDialogTitleCommand */ public function testSetDialogTitleCommand() { $command = new SetDialogTitleCommand('#some-dialog', 'Example'); $expected = [ 'command' => 'setDialogOption', 'selector' => '#some-dialog', 'optionName' => 'title', 'optionValue' => 'Example', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\RedirectCommand */ public function testRedirectCommand() { $command = new RedirectCommand('http://example.com'); $expected = [ 'command' => 'redirect', 'url' => 'http://example.com', ]; $this->assertEquals($expected, $command->render()); } /** * @covers \Drupal\Core\Ajax\UpdateBuildIdCommand */ public function testUpdateBuildIdCommand() { $old = 'ThisStringisOld'; $new = 'ThisStringIsNew'; $command = new UpdateBuildIdCommand($old, $new); $expected = [ 'command' => 'update_build_id', 'old' => $old, 'new' => $new, ]; $this->assertEquals($expected, $command->render()); } }