Skip to content
GitLab
Explore
Sign in
project
drupal
Compare revisions
a8f8e670088efa64fe1b704e2bb0d8eb1414988d to 8.2.x
Hide whitespace changes
Inline
Side-by-side
core/misc/displace.js
View file @
55845022
...
...
@@ -165,7 +165,7 @@
var
placement
=
$el
.
offset
()[
horizontal
?
'
left
'
:
'
top
'
];
// Subtract scroll distance from placement to get the distance
// to the edge of the viewport.
placement
-=
window
[
'
scroll
'
+
(
horizontal
?
'
X
'
:
'
Y
'
)]
||
document
.
documentElement
[
'
scroll
'
+
(
horizontal
)
?
'
Left
'
:
'
Top
'
]
||
0
;
placement
-=
window
[
'
scroll
'
+
(
horizontal
?
'
X
'
:
'
Y
'
)]
||
document
.
documentElement
[
'
scroll
'
+
(
horizontal
?
'
Left
'
:
'
Top
'
)
]
||
0
;
// Find the displacement value according to the edge.
switch
(
edge
)
{
// Left and top elements displace as a sum of their own offset value
...
...
core/misc/machine-name.js
View file @
55845022
...
...
@@ -186,6 +186,8 @@
* @param {string} settings.replace_pattern
* A regular expression (without modifiers) matching disallowed characters
* in the machine name; e.g., '[^a-z0-9]+'.
* @param {string} settings.replace_token
* A token to validate the regular expression.
* @param {string} settings.replace
* A character to replace disallowed characters with; e.g., '_' or '-'.
* @param {number} settings.maxlength
...
...
@@ -199,6 +201,7 @@
text
:
source
,
langcode
:
drupalSettings
.
langcode
,
replace_pattern
:
settings
.
replace_pattern
,
replace_token
:
settings
.
replace_token
,
replace
:
settings
.
replace
,
lowercase
:
true
});
...
...
core/modules/action/tests/src/Kernel/Plugin/migrate/source/ActionTest.php
0 → 100644
View file @
55845022
<?php
namespace
Drupal\Tests\action\Kernel\Plugin\migrate\source
;
use
Drupal\Tests\migrate\Kernel\MigrateSqlSourceTestBase
;
/**
* Tests actions source plugin.
*
* @covers \Drupal\action\Plugin\migrate\source\Action
* @group action
*/
class
ActionTest
extends
MigrateSqlSourceTestBase
{
/**
* {@inheritdoc}
*/
public
static
$modules
=
[
'action'
,
'migrate_drupal'
];
/**
* {@inheritdoc}
*/
public
function
providerSource
()
{
$tests
=
[];
$tests
[
0
][
0
][
'actions'
]
=
[
[
'aid'
=>
'Redirect to node list page'
,
'type'
=>
'system'
,
'callback'
=>
'system_goto_action'
,
'parameters'
=>
'a:1:{s:3:"url";s:4:"node";}'
,
'description'
=>
'Redirect to node list page'
,
],
[
'aid'
=>
'Test notice email'
,
'type'
=>
'system'
,
'callback'
=>
'system_send_email_action'
,
'parameters'
=>
'a:3:{s:9:"recipient";s:7:"%author";s:7:"subject";s:4:"Test";s:7:"message";s:4:"Test'
,
'description'
=>
'Test notice email'
,
],
[
'aid'
=>
'comment_publish_action'
,
'type'
=>
'comment'
,
'callback'
=>
'comment_publish_action'
,
'parameters'
=>
NULL
,
'description'
=>
NULL
,
],
[
'aid'
=>
'node_publish_action'
,
'type'
=>
'comment'
,
'callback'
=>
'node_publish_action'
,
'parameters'
=>
NULL
,
'description'
=>
NULL
,
],
];
// The expected results are identical to the source data.
$tests
[
0
][
1
]
=
$tests
[
0
][
0
][
'actions'
];
return
$tests
;
}
}
core/modules/action/tests/src/Unit/Plugin/migrate/source/ActionTest.php
deleted
100644 → 0
View file @
a8f8e670
<?php
namespace
Drupal\Tests\action\Unit\Plugin\migrate\source
;
use
Drupal\Tests\migrate\Unit\MigrateSqlSourceTestCase
;
/**
* Tests actions source plugin.
*
* @group action
*/
class
ActionTest
extends
MigrateSqlSourceTestCase
{
// The plugin system is not working during unit testing so the source plugin
// class needs to be manually specified.
const
PLUGIN_CLASS
=
'Drupal\action\Plugin\migrate\source\Action'
;
// The fake Migration configuration entity.
protected
$migrationConfiguration
=
array
(
// The ID of the entity, can be any string.
'id'
=>
'test'
,
'source'
=>
array
(
'plugin'
=>
'action'
,
),
);
// We need to set up the database contents; it's easier to do that below.
protected
$expectedResults
=
array
(
array
(
'aid'
=>
'Redirect to node list page'
,
'type'
=>
'system'
,
'callback'
=>
'system_goto_action'
,
'parameters'
=>
'a:1:{s:3:"url";s:4:"node";}'
,
'description'
=>
'Redirect to node list page'
,
),
array
(
'aid'
=>
'Test notice email'
,
'type'
=>
'system'
,
'callback'
=>
'system_send_email_action'
,
'parameters'
=>
'a:3:{s:9:"recipient";s:7:"%author";s:7:"subject";s:4:"Test";s:7:"message";s:4:"Test'
,
'description'
=>
'Test notice email'
,
),
array
(
'aid'
=>
'comment_publish_action'
,
'type'
=>
'comment'
,
'callback'
=>
'comment_publish_action'
,
'parameters'
=>
NULL
,
'description'
=>
NULL
,
),
array
(
'aid'
=>
'node_publish_action'
,
'type'
=>
'comment'
,
'callback'
=>
'node_publish_action'
,
'parameters'
=>
NULL
,
'description'
=>
NULL
,
),
);
/**
* {@inheritdoc}
*/
protected
function
setUp
()
{
$this
->
databaseContents
[
'actions'
]
=
$this
->
expectedResults
;
parent
::
setUp
();
}
}
core/modules/aggregator/aggregator.install
View file @
55845022
...
...
@@ -37,3 +37,24 @@ function aggregator_update_8001() {
/**
* @} End of "addtogroup updates-8.0.0-rc".
*/
/**
* @addtogroup updates-8.2.x
* @{
*/
/**
* Make the 'Source feed' field for aggregator items required.
*/
function
aggregator_update_8200
()
{
// aggregator_update_8001() did not update the last installed field storage
// definition for the aggregator item's 'Source feed' field.
$definition_update_manager
=
\Drupal
::
entityDefinitionUpdateManager
();
$field_definition
=
$definition_update_manager
->
getFieldStorageDefinition
(
'fid'
,
'aggregator_item'
);
$field_definition
->
setRequired
(
TRUE
);
$definition_update_manager
->
updateFieldStorageDefinition
(
$field_definition
);
}
/**
* @} End of "addtogroup updates-8.2.x".
*/
core/modules/aggregator/src/Tests/Update/AggregatorUpdateTest.php
0 → 100644
View file @
55845022
<?php
namespace
Drupal\aggregator\Tests\Update
;
use
Drupal\system\Tests\Update\UpdatePathTestBase
;
/**
* Tests that node settings are properly updated during database updates.
*
* @group aggregator
*/
class
AggregatorUpdateTest
extends
UpdatePathTestBase
{
/**
* {@inheritdoc}
*/
protected
function
setDatabaseDumpFiles
()
{
$this
->
databaseDumpFiles
=
[
__DIR__
.
'/../../../../system/tests/fixtures/update/drupal-8.filled.standard.php.gz'
,
];
}
/**
* Tests that the 'Source feed' field is required.
*
* @see aggregator_update_8200()
*/
public
function
testSourceFeedRequired
()
{
// Check that the 'fid' field is not required prior to the update.
$field_definition
=
\Drupal
::
entityDefinitionUpdateManager
()
->
getFieldStorageDefinition
(
'fid'
,
'aggregator_item'
);
$this
->
assertFalse
(
$field_definition
->
isRequired
());
// Run updates.
$this
->
runUpdates
();
// Check that the 'fid' field is now required.
$field_definition
=
\Drupal
::
entityDefinitionUpdateManager
()
->
getFieldStorageDefinition
(
'fid'
,
'aggregator_item'
);
$this
->
assertTrue
(
$field_definition
->
isRequired
());
}
}
core/modules/aggregator/tests/src/Kernel/Plugin/migrate/source/AggregatorFeedTest.php
0 → 100644
View file @
55845022
<?php
namespace
Drupal\Tests\aggregator\Kernel\Plugin\migrate\source
;
use
Drupal\Tests\migrate\Kernel\MigrateSqlSourceTestBase
;
/**
* Tests D6 aggregator feed source plugin.
*
* @covers \Drupal\aggregator\Plugin\migrate\source\AggregatorFeed
* @group aggregator
*/
class
AggregatorFeedTest
extends
MigrateSqlSourceTestBase
{
/**
* {@inheritdoc}
*/
public
static
$modules
=
[
'aggregator'
,
'migrate_drupal'
];
/**
* {@inheritdoc}
*/
public
function
providerSource
()
{
$tests
=
[];
$tests
[
0
][
'database'
][
'aggregator_feed'
]
=
[
[
'fid'
=>
1
,
'title'
=>
'feed title 1'
,
'url'
=>
'http://example.com/feed.rss'
,
'refresh'
=>
900
,
'checked'
=>
0
,
'link'
=>
'http://example.com'
,
'description'
=>
'A vague description'
,
'image'
=>
''
,
'etag'
=>
''
,
'modified'
=>
0
,
'block'
=>
5
,
],
[
'fid'
=>
2
,
'title'
=>
'feed title 2'
,
'url'
=>
'http://example.net/news.rss'
,
'refresh'
=>
1800
,
'checked'
=>
0
,
'link'
=>
'http://example.net'
,
'description'
=>
'An even more vague description'
,
'image'
=>
''
,
'etag'
=>
''
,
'modified'
=>
0
,
'block'
=>
5
,
],
];
// The expected results are identical to the source data.
$tests
[
0
][
'expected_results'
]
=
$tests
[
0
][
'database'
][
'aggregator_feed'
];
return
$tests
;
}
}
core/modules/aggregator/tests/src/Kernel/Plugin/migrate/source/AggregatorItemTest.php
0 → 100644
View file @
55845022
<?php
namespace
Drupal\Tests\aggregator\Kernel\Plugin\migrate\source
;
use
Drupal\Tests\migrate\Kernel\MigrateSqlSourceTestBase
;
/**
* Tests aggregator item source plugin.
*
* @covers \Drupal\aggregator\Plugin\migrate\source\AggregatorItem
* @group aggregator
*/
class
AggregatorItemTest
extends
MigrateSqlSourceTestBase
{
/**
* {@inheritdoc}
*/
public
static
$modules
=
[
'aggregator'
,
'migrate_drupal'
];
/**
* {@inheritdoc}
*/
public
function
providerSource
()
{
$tests
=
[];
$tests
[
0
][
'database'
][
'aggregator_item'
]
=
[
[
'iid'
=>
1
,
'fid'
=>
1
,
'title'
=>
'This (three) weeks in Drupal Core - January 10th 2014'
,
'link'
=>
'https://groups.drupal.org/node/395218'
,
'author'
=>
'larowlan'
,
'description'
=>
"<h2 id='new'>What's new with Drupal 8?</h2>"
,
'timestamp'
=>
1389297196
,
'guid'
=>
'395218 at https://groups.drupal.org'
,
],
];
// The expected results are identical to the source data.
$tests
[
0
][
'expected_results'
]
=
$tests
[
0
][
'database'
][
'aggregator_item'
];
return
$tests
;
}
}
core/modules/aggregator/tests/src/Unit/Plugin/migrate/source/AggregatorItemTest.php
deleted
100644 → 0
View file @
a8f8e670
<?php
namespace
Drupal\Tests\aggregator\Unit\Plugin\migrate\source
;
use
Drupal\Tests\migrate\Unit\MigrateSqlSourceTestCase
;
/**
* Tests aggregator item source plugin.
*
* @group aggregator
*/
class
AggregatorItemTest
extends
MigrateSqlSourceTestCase
{
const
PLUGIN_CLASS
=
'Drupal\aggregator\Plugin\migrate\source\AggregatorItem'
;
protected
$migrationConfiguration
=
array
(
'id'
=>
'test'
,
'source'
=>
array
(
'plugin'
=>
'aggregator_item'
,
),
);
protected
$expectedResults
=
array
(
array
(
'iid'
=>
1
,
'fid'
=>
1
,
'title'
=>
'This (three) weeks in Drupal Core - January 10th 2014'
,
'link'
=>
'https://groups.drupal.org/node/395218'
,
'author'
=>
'larowlan'
,
'description'
=>
"<h2 id='new'>What's new with Drupal 8?</h2>"
,
'timestamp'
=>
1389297196
,
'guid'
=>
'395218 at https://groups.drupal.org'
,
),
);
/**
* {@inheritdoc}
*/
protected
function
setUp
()
{
$this
->
databaseContents
[
'aggregator_item'
]
=
$this
->
expectedResults
;
parent
::
setUp
();
}
}
core/modules/aggregator/tests/src/Unit/Plugin/migrate/source/d6/AggregatorFeedTest.php
deleted
100644 → 0
View file @
a8f8e670
<?php
namespace
Drupal\Tests\aggregator\Unit\Plugin\migrate\source\d6
;
use
Drupal\Tests\migrate\Unit\MigrateSqlSourceTestCase
;
/**
* Tests D6 aggregator feed source plugin.
*
* @group aggregator
*/
class
AggregatorFeedTest
extends
MigrateSqlSourceTestCase
{
const
PLUGIN_CLASS
=
'Drupal\aggregator\Plugin\migrate\source\AggregatorFeed'
;
protected
$migrationConfiguration
=
array
(
'id'
=>
'test'
,
'source'
=>
array
(
'plugin'
=>
'd6_aggregator_feed'
,
),
);
protected
$expectedResults
=
array
(
array
(
'fid'
=>
1
,
'title'
=>
'feed title 1'
,
'url'
=>
'http://example.com/feed.rss'
,
'refresh'
=>
900
,
'checked'
=>
0
,
'link'
=>
'http://example.com'
,
'description'
=>
'A vague description'
,
'image'
=>
''
,
'etag'
=>
''
,
'modified'
=>
0
,
'block'
=>
5
,
),
array
(
'fid'
=>
2
,
'title'
=>
'feed title 2'
,
'url'
=>
'http://example.net/news.rss'
,
'refresh'
=>
1800
,
'checked'
=>
0
,
'link'
=>
'http://example.net'
,
'description'
=>
'An even more vague description'
,
'image'
=>
''
,
'etag'
=>
''
,
'modified'
=>
0
,
'block'
=>
5
,
),
);
/**
* {@inheritdoc}
*/
protected
function
setUp
()
{
$this
->
databaseContents
[
'aggregator_feed'
]
=
$this
->
expectedResults
;
parent
::
setUp
();
}
}
core/modules/aggregator/tests/src/Unit/Plugin/migrate/source/d7/AggregatorFeedTest.php
deleted
100644 → 0
View file @
a8f8e670
<?php
namespace
Drupal\Tests\aggregator\Unit\Plugin\migrate\source\d7
;
use
Drupal\Tests\migrate\Unit\MigrateSqlSourceTestCase
;
/**
* Tests D7 aggregator feed source plugin.
*
* @group aggregator
*/
class
AggregatorFeedTest
extends
MigrateSqlSourceTestCase
{
const
PLUGIN_CLASS
=
'Drupal\aggregator\Plugin\migrate\source\AggregatorFeed'
;
protected
$migrationConfiguration
=
array
(
'id'
=>
'test'
,
'source'
=>
array
(
'plugin'
=>
'd7_aggregator_feed'
,
),
);
protected
$expectedResults
=
array
(
array
(
'fid'
=>
1
,
'title'
=>
'feed title 1'
,
'url'
=>
'http://example.com/feed.rss'
,
'refresh'
=>
900
,
'checked'
=>
0
,
'queued'
=>
0
,
'link'
=>
'http://example.com'
,
'description'
=>
'A vague description'
,
'image'
=>
''
,
'etag'
=>
''
,
'modified'
=>
0
,
'block'
=>
5
,
),
array
(
'fid'
=>
2
,
'title'
=>
'feed title 2'
,
'url'
=>
'http://example.net/news.rss'
,
'refresh'
=>
1800
,
'checked'
=>
0
,
'queued'
=>
0
,
'link'
=>
'http://example.net'
,
'description'
=>
'An even more vague description'
,
'image'
=>
''
,
'etag'
=>
''
,
'modified'
=>
0
,
'block'
=>
5
,
),
);
/**
* {@inheritdoc}
*/
protected
function
setUp
()
{
$this
->
databaseContents
[
'aggregator_feed'
]
=
$this
->
expectedResults
;
parent
::
setUp
();
}
}
core/modules/ban/tests/src/Kernel/Plugin/migrate/source/d7/BlockedIpsTest.php
0 → 100644
View file @
55845022
<?php
namespace
Drupal\Tests\ban\Kernel\Plugin\migrate\source\d7
;
use
Drupal\Tests\migrate\Kernel\MigrateSqlSourceTestBase
;
/**
* Tests D7 blocked_ip source plugin.
*
* @covers \Drupal\ban\Plugin\migrate\source\d7\BlockedIps
* @group ban
*/
class
BlockedIpsTest
extends
MigrateSqlSourceTestBase
{
/**
* {@inheritdoc}
*/
public
static
$modules
=
[
'ban'
,
'migrate_drupal'
];
/**
* {@inheritdoc}
*/
public
function
providerSource
()
{
$tests
=
[];
$tests
[
0
][
'source_data'
][
'blocked_ips'
]
=
[
[
'iid'
=>
1
,
'ip'
=>
'127.0.0.1'
,
]
];
$tests
[
0
][
'expected_data'
]
=
[
[
'ip'
=>
'127.0.0.1'
,
],
];
return
$tests
;
}
}
core/modules/ban/tests/src/Unit/Plugin/migrate/source/d7/BlockedIpsTest.php
deleted
100644 → 0
View file @
a8f8e670
<?php
namespace
Drupal\Tests\ban\Unit\Plugin\migrate\source\d7
;
use
Drupal\Tests\migrate\Unit\MigrateSqlSourceTestCase
;
/**
* Tests D7 blocked_ip source plugin.
*
* @coversDefaultClass \Drupal\ban\Plugin\migrate\source\d7\BlockedIps
* @group ban
*/
class
BlockedIpsTest
extends
MigrateSqlSourceTestCase
{
const
PLUGIN_CLASS
=
'Drupal\ban\Plugin\migrate\source\d7\BlockedIps'
;
protected
$migrationConfiguration
=
[
'id'
=>
'test'
,
'source'
=>
[
'plugin'
=>
'd7_blocked_ips'
,
],
];
protected
$expectedResults
=
[
[
'ip'
=>
'127.0.0.1'
,
],
];
/**
* {@inheritdoc}
*/
protected
function
setUp
()
{
$this
->
databaseContents
[
'blocked_ips'
]
=
[
[
'iid'
=>
1
,
'ip'
=>
'127.0.0.1'
,
]
];
parent
::
setUp
();
}
}
core/modules/basic_auth/src/Tests/Authentication/BasicAuthTest.php
View file @
55845022
...
...
@@ -22,7 +22,7 @@ class BasicAuthTest extends WebTestBase {
*
* @var array
*/
public
static
$modules
=
array
(
'basic_auth'
,
'router_test'
,
'locale'
);
public
static
$modules
=
array
(
'basic_auth'
,
'router_test'
,
'locale'
,
'basic_auth_test'
);
/**
* Test http basic authentication.
...
...
@@ -175,4 +175,25 @@ function testUnauthorizedErrorMessage() {
$this
->
assertText
(
'Access denied'
,
"A user friendly access denied message is displayed"
);
}
/**
* Tests if the controller is called before authentication.
*
* @see https://www.drupal.org/node/2817727
*/
public
function
testControllerNotCalledBeforeAuth
()
{
$this
->
drupalGet
(
'/basic_auth_test/state/modify'
);
$this
->
assertResponse
(
401
);
$this
->
drupalGet
(
'/basic_auth_test/state/read'
);
$this
->
assertResponse
(
200
);
$this
->
assertRaw
(
'nope'
);
$account
=
$this
->
drupalCreateUser
();
$this
->
basicAuthGet
(
'/basic_auth_test/state/modify'
,
$account
->
getUsername
(),
$account
->
pass_raw
);
$this
->
assertResponse
(
200
);
$this
->
assertRaw
(
'Done'
);
$this
->
drupalGet
(
'/basic_auth_test/state/read'
);
$this
->
assertResponse
(
200
);
$this
->
assertRaw
(
'yep'
);
}
}
core/modules/basic_auth/tests/modules/basic_auth_test/basic_auth_test.info.yml
0 → 100644
View file @
55845022
name
:
'
HTTP
Basic
Authentication
test'
type
:
module
description
:
'
Support
module
for
HTTP
Basic
Authentication
testing.'
package
:
Testing
version
:
VERSION
core
:
8.x
core/modules/basic_auth/tests/modules/basic_auth_test/basic_auth_test.routing.yml
0 → 100644
View file @
55845022
basic_auth_test.state.modify
:
path
:
'
/basic_auth_test/state/modify'
defaults
:
_controller
:
'
\Drupal\basic_auth_test\BasicAuthTestController::modifyState'
options
:
_auth
:
-
basic_auth
requirements
:
_user_is_logged_in
:
'
TRUE'
basic_auth_test.state.read
:
path
:
'
/basic_auth_test/state/read'
defaults
:
_controller
:
'
\Drupal\basic_auth_test\BasicAuthTestController::readState'
requirements
:
_access
:
'
TRUE'
core/modules/basic_auth/tests/modules/basic_auth_test/src/BasicAuthTestController.php
0 → 100644
View file @
55845022
<?php
namespace
Drupal\basic_auth_test
;
class
BasicAuthTestController
{
/**
* @see \Drupal\basic_auth\Tests\Authentication\BasicAuthTest::testControllerNotCalledBeforeAuth()
*/
public
function
modifyState
()
{
\Drupal
::
state
()
->
set
(
'basic_auth_test.state.controller_executed'
,
TRUE
);
return
[
'#markup'
=>
'Done'
];
}
/**
* @see \Drupal\basic_auth\Tests\Authentication\BasicAuthTest::testControllerNotCalledBeforeAuth()
*/
public
function
readState
()
{
// Mark this page as being uncacheable.
\Drupal
::
service
(
'page_cache_kill_switch'
)
->
trigger
();
return
[
'#markup'
=>
\Drupal
::
state
()
->
get
(
'basic_auth_test.state.controller_executed'
)
?
'yep'
:
'nope'
,
'#cache'
=>
[
'max-age'
=>
0
,
],
];
}
}
core/modules/big_pipe/src/Render/BigPipeInterface.php
View file @
55845022
...
...
@@ -138,6 +138,12 @@ interface BigPipeInterface {
* The HTML response content to send.
* @param array $attachments
* The HTML response's attachments.
*
* @internal
* This method should only be invoked by
* \Drupal\big_pipe\Render\BigPipeResponse, which is itself an internal
* class. Furthermore, the signature of this method will change in
* https://www.drupal.org/node/2657684.
*/
public
function
sendContent
(
$content
,
array
$attachments
);
...
...
core/modules/big_pipe/src/Render/BigPipeResponse.php
View file @
55845022
...
...
@@ -13,7 +13,10 @@
*
* @see \Drupal\big_pipe\Render\BigPipeInterface
*
* @todo Will become obsolete with https://www.drupal.org/node/2577631
* @internal
* This is a temporary solution until a generic response emitter interface is
* created in https://www.drupal.org/node/2577631. Only code internal to
* BigPipe should instantiate or type hint to this class.
*/
class
BigPipeResponse
extends
HtmlResponse
{
...
...
core/modules/block/block.api.php
View file @
55845022
...
...
@@ -151,7 +151,7 @@ function hook_block_view_BASE_BLOCK_ID_alter(array &$build, \Drupal\Core\Block\B
function
hook_block_build_alter
(
array
&
$build
,
\Drupal\Core\Block\BlockPluginInterface
$block
)
{
// Add the 'user' cache context to some blocks.
if
(
$some_condition
)
{
$build
[
'#contexts'
][]
=
'user'
;
$build
[
'#
cache'
][
'
contexts'
][]
=
'user'
;
}
}
...
...
Prev
1
2
3
4
5
6
7
8
9
…
41
Next