Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663
This commit is contained in:
parent
eb34d130a8
commit
f32e58e4b1
8476 changed files with 211648 additions and 170042 deletions
11
core/modules/views/tests/fixtures/update/argument-placeholder.php
vendored
Normal file
11
core/modules/views/tests/fixtures/update/argument-placeholder.php
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
$connection = Drupal\Core\Database\Database::getConnection();
|
||||
|
||||
$connection->insert('config')
|
||||
->fields(array(
|
||||
'collection' => '',
|
||||
'name' => 'views.view.test_token_view',
|
||||
'data' => serialize(\Drupal\Component\Serialization\Yaml::decode(file_get_contents('core/modules/views/tests/modules/views_test_config/test_views/views.view.test_token_view.yml'))),
|
||||
))
|
||||
->execute();
|
|
@ -61,10 +61,10 @@ display:
|
|||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ previous'
|
||||
next: 'next ›'
|
||||
first: '« first'
|
||||
last: 'last »'
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
|
@ -174,7 +174,7 @@ display:
|
|||
cache_metadata:
|
||||
contexts:
|
||||
- language
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
page_1:
|
||||
display_plugin: page
|
||||
id: page_1
|
||||
|
@ -186,4 +186,4 @@ display:
|
|||
cache_metadata:
|
||||
contexts:
|
||||
- language
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
|
|
|
@ -68,10 +68,10 @@ display:
|
|||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ previous'
|
||||
next: 'next ›'
|
||||
first: '« first'
|
||||
last: 'last »'
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
|
|
|
@ -0,0 +1,213 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- node
|
||||
- taxonomy
|
||||
- user
|
||||
id: test_argument_validator_term
|
||||
label: test_argument_validator_term
|
||||
module: views
|
||||
description: ''
|
||||
tag: ''
|
||||
base_table: node_field_data
|
||||
base_field: nid
|
||||
core: 8.x
|
||||
display:
|
||||
default:
|
||||
display_plugin: default
|
||||
id: default
|
||||
display_title: Master
|
||||
position: 0
|
||||
display_options:
|
||||
access:
|
||||
type: perm
|
||||
options:
|
||||
perm: 'access content'
|
||||
cache:
|
||||
type: none
|
||||
options: { }
|
||||
query:
|
||||
type: views_query
|
||||
options:
|
||||
disable_sql_rewrite: false
|
||||
distinct: false
|
||||
replica: false
|
||||
query_comment: ''
|
||||
query_tags: { }
|
||||
exposed_form:
|
||||
type: basic
|
||||
options:
|
||||
submit_button: Apply
|
||||
reset_button: false
|
||||
reset_button_label: Reset
|
||||
exposed_sorts_label: 'Sort by'
|
||||
expose_sort_order: true
|
||||
sort_asc_label: Asc
|
||||
sort_desc_label: Desc
|
||||
pager:
|
||||
type: full
|
||||
options:
|
||||
items_per_page: 10
|
||||
offset: 0
|
||||
id: 0
|
||||
total_pages: null
|
||||
expose:
|
||||
items_per_page: false
|
||||
items_per_page_label: 'Items per page'
|
||||
items_per_page_options: '5, 10, 25, 50'
|
||||
items_per_page_options_all: false
|
||||
items_per_page_options_all_label: '- All -'
|
||||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
options:
|
||||
grouping: { }
|
||||
row_class: ''
|
||||
default_row_class: true
|
||||
uses_fields: false
|
||||
row:
|
||||
type: fields
|
||||
options:
|
||||
inline: { }
|
||||
separator: ''
|
||||
hide_empty: false
|
||||
default_field_elements: true
|
||||
fields:
|
||||
title:
|
||||
id: title
|
||||
table: node_field_data
|
||||
field: title
|
||||
entity_type: node
|
||||
entity_field: title
|
||||
label: ''
|
||||
alter:
|
||||
alter_text: false
|
||||
make_link: false
|
||||
absolute: false
|
||||
trim: false
|
||||
word_boundary: false
|
||||
ellipsis: false
|
||||
strip_tags: false
|
||||
html: false
|
||||
hide_empty: false
|
||||
empty_zero: false
|
||||
settings:
|
||||
link_to_entity: true
|
||||
plugin_id: field
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
exclude: false
|
||||
element_type: ''
|
||||
element_class: ''
|
||||
element_label_type: ''
|
||||
element_label_class: ''
|
||||
element_label_colon: true
|
||||
element_wrapper_type: ''
|
||||
element_wrapper_class: ''
|
||||
element_default_classes: true
|
||||
empty: ''
|
||||
hide_alter_empty: true
|
||||
click_sort_column: value
|
||||
type: string
|
||||
group_column: value
|
||||
group_columns: { }
|
||||
group_rows: true
|
||||
delta_limit: 0
|
||||
delta_offset: 0
|
||||
delta_reversed: false
|
||||
delta_first_last: false
|
||||
multi_type: separator
|
||||
separator: ', '
|
||||
field_api_classes: false
|
||||
filters:
|
||||
status:
|
||||
value: true
|
||||
table: node_field_data
|
||||
field: status
|
||||
plugin_id: boolean
|
||||
entity_type: node
|
||||
entity_field: status
|
||||
id: status
|
||||
expose:
|
||||
operator: ''
|
||||
group: 1
|
||||
sorts:
|
||||
created:
|
||||
id: created
|
||||
table: node_field_data
|
||||
field: created
|
||||
order: DESC
|
||||
entity_type: node
|
||||
entity_field: created
|
||||
plugin_id: date
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
exposed: false
|
||||
expose:
|
||||
label: ''
|
||||
granularity: second
|
||||
header: { }
|
||||
footer: { }
|
||||
empty: { }
|
||||
relationships: { }
|
||||
arguments:
|
||||
tid:
|
||||
id: tid
|
||||
table: taxonomy_index
|
||||
field: tid
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
default_action: ignore
|
||||
exception:
|
||||
value: all
|
||||
title_enable: false
|
||||
title: All
|
||||
title_enable: true
|
||||
title: '{{ arguments.tid }}'
|
||||
default_argument_type: fixed
|
||||
default_argument_options:
|
||||
argument: ''
|
||||
default_argument_skip_url: false
|
||||
summary_options:
|
||||
base_path: ''
|
||||
count: true
|
||||
items_per_page: 25
|
||||
override: false
|
||||
summary:
|
||||
sort_order: asc
|
||||
number_of_records: 0
|
||||
format: default_summary
|
||||
specify_validation: true
|
||||
validate:
|
||||
type: 'entity:taxonomy_term'
|
||||
fail: 'access denied'
|
||||
validate_options:
|
||||
operation: view
|
||||
multiple: 1
|
||||
bundles: { }
|
||||
access: false
|
||||
break_phrase: false
|
||||
add_table: false
|
||||
require_value: false
|
||||
reduce_duplicates: false
|
||||
plugin_id: taxonomy_index_tid
|
||||
display_extenders: { }
|
||||
cache_metadata:
|
||||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- url
|
||||
- 'url.query_args.pagers:0'
|
||||
- 'user.node_grants:view'
|
||||
cacheable: false
|
|
@ -62,10 +62,10 @@ display:
|
|||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ previous'
|
||||
next: 'next ›'
|
||||
first: '« first'
|
||||
last: 'last »'
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
|
|
|
@ -67,7 +67,7 @@ display:
|
|||
path: test_attachment_ui_feed
|
||||
page_1:
|
||||
display_plugin: page
|
||||
display_title: Page
|
||||
display_title: <em>Page</em>
|
||||
display_options:
|
||||
path: test_attachment_ui
|
||||
id: page_1
|
||||
|
|
|
@ -62,10 +62,10 @@ display:
|
|||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ previous'
|
||||
next: 'next ›'
|
||||
first: '« first'
|
||||
last: 'last »'
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
|
|
|
@ -123,6 +123,6 @@ display:
|
|||
display_options:
|
||||
path: test-feed-display
|
||||
display_plugin: page
|
||||
display_title: Page
|
||||
display_title: <em>Page</em>
|
||||
id: page
|
||||
position: 0
|
||||
|
|
|
@ -31,7 +31,7 @@ display:
|
|||
field: entity_entity_test
|
||||
id: entity_entity_test
|
||||
table: views
|
||||
target: '!1'
|
||||
target: '{{ raw_arguments.id }}'
|
||||
view_mode: full
|
||||
plugin_id: entity
|
||||
entity_block:
|
||||
|
|
|
@ -2,13 +2,13 @@ langcode: en
|
|||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- entity_test
|
||||
- node
|
||||
id: test_entity_operations
|
||||
label: test_entity_operations
|
||||
module: views
|
||||
description: ''
|
||||
tag: ''
|
||||
base_table: entity_test
|
||||
base_table: node_field_data
|
||||
base_field: id
|
||||
core: 8.x
|
||||
display:
|
||||
|
@ -35,60 +35,29 @@ display:
|
|||
row:
|
||||
type: fields
|
||||
fields:
|
||||
name:
|
||||
id: name
|
||||
table: entity_test
|
||||
field: name
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
label: ''
|
||||
title:
|
||||
id: title
|
||||
table: node_field_data
|
||||
field: title
|
||||
label: Title
|
||||
exclude: false
|
||||
alter:
|
||||
alter_text: false
|
||||
text: ''
|
||||
make_link: false
|
||||
path: ''
|
||||
absolute: false
|
||||
external: false
|
||||
replace_spaces: false
|
||||
path_case: none
|
||||
trim_whitespace: false
|
||||
alt: ''
|
||||
rel: ''
|
||||
link_class: ''
|
||||
prefix: ''
|
||||
suffix: ''
|
||||
target: ''
|
||||
nl2br: false
|
||||
max_length: 0
|
||||
word_boundary: true
|
||||
ellipsis: true
|
||||
more_link: false
|
||||
more_link_text: ''
|
||||
more_link_path: ''
|
||||
strip_tags: false
|
||||
trim: false
|
||||
preserve_tags: ''
|
||||
html: false
|
||||
element_type: ''
|
||||
element_class: ''
|
||||
element_label_type: ''
|
||||
element_label_class: ''
|
||||
element_label_colon: false
|
||||
element_wrapper_type: ''
|
||||
element_wrapper_class: ''
|
||||
element_default_classes: true
|
||||
empty: ''
|
||||
hide_empty: false
|
||||
empty_zero: false
|
||||
hide_alter_empty: true
|
||||
entity_type: entity_test
|
||||
entity_field: name
|
||||
entity_type: node
|
||||
entity_field: title
|
||||
type: string
|
||||
settings:
|
||||
link_to_entity: true
|
||||
plugin_id: field
|
||||
operations:
|
||||
id: operations
|
||||
table: entity_test
|
||||
table: node
|
||||
field: operations
|
||||
relationship: none
|
||||
group_type: group
|
||||
|
|
|
@ -58,10 +58,10 @@ display:
|
|||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ previous'
|
||||
next: 'next ›'
|
||||
first: '« first'
|
||||
last: 'last »'
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
|
@ -323,4 +323,4 @@ display:
|
|||
- entity_test_view_grants
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
|
|
|
@ -61,10 +61,10 @@ display:
|
|||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ previous'
|
||||
next: 'next ›'
|
||||
first: '« first'
|
||||
last: 'last »'
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
|
|
|
@ -174,7 +174,7 @@ display:
|
|||
- 'languages:language_interface'
|
||||
- url
|
||||
- 'user.node_grants:view'
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
feed_1:
|
||||
display_plugin: feed
|
||||
id: feed_1
|
||||
|
@ -198,7 +198,7 @@ display:
|
|||
- 'languages:language_interface'
|
||||
- url
|
||||
- 'user.node_grants:view'
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
page_1:
|
||||
display_plugin: page
|
||||
id: page_1
|
||||
|
@ -213,4 +213,4 @@ display:
|
|||
- 'languages:language_interface'
|
||||
- url
|
||||
- 'user.node_grants:view'
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies: { }
|
||||
id: test_field_argument_tokens
|
||||
label: null
|
||||
module: views
|
||||
description: ''
|
||||
tag: ''
|
||||
base_table: views_test_data
|
||||
base_field: id
|
||||
core: '8'
|
||||
display:
|
||||
default:
|
||||
display_options:
|
||||
access:
|
||||
type: none
|
||||
cache:
|
||||
type: tag
|
||||
exposed_form:
|
||||
type: basic
|
||||
pager:
|
||||
type: full
|
||||
query:
|
||||
type: views_query
|
||||
fields:
|
||||
name:
|
||||
id: name
|
||||
table: views_test_data
|
||||
field: name
|
||||
plugin_id: string
|
||||
name_1:
|
||||
id: name_1
|
||||
table: views_test_data
|
||||
field: name
|
||||
plugin_id: string
|
||||
name_2:
|
||||
id: name_2
|
||||
table: views_test_data
|
||||
field: name
|
||||
plugin_id: string
|
||||
job:
|
||||
id: job
|
||||
table: views_test_data
|
||||
field: job
|
||||
plugin_id: string
|
||||
arguments:
|
||||
'null':
|
||||
id: 'null'
|
||||
table: views
|
||||
field: 'null'
|
||||
plugin_id: 'null'
|
||||
style:
|
||||
type: default
|
||||
row:
|
||||
type: fields
|
||||
display_plugin: default
|
||||
display_title: Defaults
|
||||
id: default
|
||||
position: 0
|
|
@ -137,4 +137,4 @@ display:
|
|||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
|
|
|
@ -58,6 +58,45 @@ display:
|
|||
plugin_id: field
|
||||
relationship: user_id
|
||||
alter: {}
|
||||
created:
|
||||
id: created
|
||||
table: users_field_data
|
||||
field: created
|
||||
relationship: user_id
|
||||
type: timestamp
|
||||
settings:
|
||||
date_format: custom
|
||||
custom_date_format: 'Y'
|
||||
timezone: ''
|
||||
entity_type: user
|
||||
entity_field: created
|
||||
plugin_id: field
|
||||
created_1:
|
||||
id: created_1
|
||||
table: users_field_data
|
||||
field: created
|
||||
relationship: user_id
|
||||
type: timestamp
|
||||
settings:
|
||||
date_format: custom
|
||||
custom_date_format: 'H:i:s'
|
||||
timezone: ''
|
||||
entity_type: user
|
||||
entity_field: created
|
||||
plugin_id: field
|
||||
created_2:
|
||||
id: created_2
|
||||
table: users_field_data
|
||||
field: created
|
||||
relationship: user_id
|
||||
type: timestamp
|
||||
settings:
|
||||
date_format: fallback
|
||||
custom_date_format: ''
|
||||
timezone: ''
|
||||
entity_type: user
|
||||
entity_field: created
|
||||
plugin_id: field
|
||||
relationships:
|
||||
user_id:
|
||||
table: entity_test
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies: { }
|
||||
id: test_menu_link
|
||||
label: ''
|
||||
module: views
|
||||
description: ''
|
||||
tag: ''
|
||||
base_table: views_test_data
|
||||
base_field: nid
|
||||
core: '8'
|
||||
display:
|
||||
default:
|
||||
display_options:
|
||||
defaults:
|
||||
fields: false
|
||||
pager: false
|
||||
sorts: false
|
||||
fields:
|
||||
age:
|
||||
field: age
|
||||
id: age
|
||||
relationship: none
|
||||
table: views_test_data
|
||||
plugin_id: numeric
|
||||
display_plugin: default
|
||||
display_title: Master
|
||||
id: default
|
||||
position: 0
|
||||
page_1:
|
||||
display_plugin: page
|
||||
display_title: 'Test page view'
|
||||
id: page_1
|
||||
position: 1
|
||||
display_options:
|
||||
display_extenders: { }
|
||||
path: test-menu-link
|
||||
|
|
@ -60,10 +60,10 @@ display:
|
|||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ previous'
|
||||
next: 'next ›'
|
||||
first: '« first'
|
||||
last: 'last »'
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: table
|
||||
|
@ -500,4 +500,4 @@ display:
|
|||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- 'user.node_grants:view'
|
||||
cacheable: false
|
||||
max-age: 0
|
||||
|
|
|
@ -295,7 +295,7 @@ display:
|
|||
page:
|
||||
display_plugin: page
|
||||
id: page_1
|
||||
display_title: Page
|
||||
display_title: <em>Page</em>
|
||||
position: 1
|
||||
display_options:
|
||||
path: test-opml-style
|
||||
|
|
|
@ -0,0 +1,349 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- node
|
||||
- user
|
||||
id: test_token_view
|
||||
label: test_token_view
|
||||
module: views
|
||||
description: ''
|
||||
tag: ''
|
||||
base_table: node_field_data
|
||||
base_field: nid
|
||||
core: 8.x
|
||||
display:
|
||||
default:
|
||||
display_plugin: default
|
||||
id: default
|
||||
display_title: Master
|
||||
position: 0
|
||||
display_options:
|
||||
access:
|
||||
type: perm
|
||||
options:
|
||||
perm: 'access content'
|
||||
cache:
|
||||
type: tag
|
||||
options: { }
|
||||
query:
|
||||
type: views_query
|
||||
options:
|
||||
disable_sql_rewrite: false
|
||||
distinct: false
|
||||
replica: false
|
||||
query_comment: ''
|
||||
query_tags: { }
|
||||
exposed_form:
|
||||
type: basic
|
||||
options:
|
||||
submit_button: Apply
|
||||
reset_button: false
|
||||
reset_button_label: Reset
|
||||
exposed_sorts_label: 'Sort by'
|
||||
expose_sort_order: true
|
||||
sort_asc_label: Asc
|
||||
sort_desc_label: Desc
|
||||
pager:
|
||||
type: full
|
||||
options:
|
||||
items_per_page: 10
|
||||
offset: 0
|
||||
id: 0
|
||||
total_pages: null
|
||||
expose:
|
||||
items_per_page: false
|
||||
items_per_page_label: 'Items per page'
|
||||
items_per_page_options: '5, 10, 25, 50'
|
||||
items_per_page_options_all: false
|
||||
items_per_page_options_all_label: '- All -'
|
||||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: grid
|
||||
options:
|
||||
grouping: { }
|
||||
columns: 4
|
||||
automatic_width: true
|
||||
alignment: horizontal
|
||||
col_class_default: true
|
||||
col_class_custom: '%1-test-class-!1'
|
||||
row_class_default: true
|
||||
row_class_custom: '%1-test-class-!1'
|
||||
row:
|
||||
type: fields
|
||||
options:
|
||||
default_field_elements: true
|
||||
inline: { }
|
||||
separator: ''
|
||||
hide_empty: false
|
||||
fields:
|
||||
title:
|
||||
id: title
|
||||
table: node_field_data
|
||||
field: title
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
label: ''
|
||||
exclude: false
|
||||
alter:
|
||||
alter_text: true
|
||||
text: '%1-custom-text-!1'
|
||||
make_link: false
|
||||
path: ''
|
||||
absolute: false
|
||||
external: false
|
||||
replace_spaces: false
|
||||
path_case: none
|
||||
trim_whitespace: false
|
||||
alt: ''
|
||||
rel: ''
|
||||
link_class: ''
|
||||
prefix: ''
|
||||
suffix: ''
|
||||
target: ''
|
||||
nl2br: false
|
||||
max_length: 0
|
||||
word_boundary: false
|
||||
ellipsis: false
|
||||
more_link: false
|
||||
more_link_text: ''
|
||||
more_link_path: ''
|
||||
strip_tags: false
|
||||
trim: false
|
||||
preserve_tags: ''
|
||||
html: false
|
||||
element_type: ''
|
||||
element_class: ''
|
||||
element_label_type: ''
|
||||
element_label_class: ''
|
||||
element_label_colon: false
|
||||
element_wrapper_type: ''
|
||||
element_wrapper_class: ''
|
||||
element_default_classes: true
|
||||
empty: ''
|
||||
hide_empty: false
|
||||
empty_zero: false
|
||||
hide_alter_empty: true
|
||||
click_sort_column: value
|
||||
type: string
|
||||
settings:
|
||||
link_to_entity: true
|
||||
group_column: value
|
||||
group_columns: { }
|
||||
group_rows: true
|
||||
delta_limit: 0
|
||||
delta_offset: 0
|
||||
delta_reversed: false
|
||||
delta_first_last: false
|
||||
multi_type: separator
|
||||
separator: ', '
|
||||
field_api_classes: false
|
||||
entity_type: node
|
||||
entity_field: title
|
||||
plugin_id: field
|
||||
filters:
|
||||
status:
|
||||
value: true
|
||||
table: node_field_data
|
||||
field: status
|
||||
plugin_id: boolean
|
||||
entity_type: node
|
||||
entity_field: status
|
||||
id: status
|
||||
expose:
|
||||
operator: ''
|
||||
group: 1
|
||||
sorts:
|
||||
created:
|
||||
id: created
|
||||
table: node_field_data
|
||||
field: created
|
||||
order: DESC
|
||||
entity_type: node
|
||||
entity_field: created
|
||||
plugin_id: date
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
exposed: false
|
||||
expose:
|
||||
label: ''
|
||||
granularity: second
|
||||
title: 'test_token_view %1 !1'
|
||||
header:
|
||||
area_text_custom:
|
||||
id: area_text_custom
|
||||
table: views
|
||||
field: area_text_custom
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
empty: false
|
||||
tokenize: false
|
||||
content: '%1-custom-!1'
|
||||
plugin_id: text_custom
|
||||
footer:
|
||||
area:
|
||||
id: area
|
||||
table: views
|
||||
field: area
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
empty: false
|
||||
tokenize: false
|
||||
content:
|
||||
value: '%1-text-!1'
|
||||
format: basic_html
|
||||
plugin_id: text
|
||||
empty:
|
||||
result:
|
||||
id: result
|
||||
table: views
|
||||
field: result
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
empty: true
|
||||
content: "Displaying @start - @end of @total\n\n%1-result-!1"
|
||||
plugin_id: result
|
||||
title:
|
||||
id: title
|
||||
table: views
|
||||
field: title
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
empty: true
|
||||
title: '%1-title-!1'
|
||||
plugin_id: title
|
||||
entity_node:
|
||||
id: entity
|
||||
table: views
|
||||
field: entity_node
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
empty: true
|
||||
target: '%1-entity-!1'
|
||||
plugin_id: entity
|
||||
relationships: { }
|
||||
arguments:
|
||||
nid:
|
||||
id: nid
|
||||
table: node_field_data
|
||||
field: nid
|
||||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
default_action: ignore
|
||||
exception:
|
||||
value: all
|
||||
title_enable: true
|
||||
title: '%1 exception-title !1'
|
||||
title_enable: true
|
||||
title: '%1 title !1'
|
||||
default_argument_type: fixed
|
||||
default_argument_options:
|
||||
argument: ''
|
||||
default_argument_skip_url: false
|
||||
summary_options:
|
||||
base_path: ''
|
||||
count: true
|
||||
items_per_page: 25
|
||||
override: false
|
||||
summary:
|
||||
sort_order: asc
|
||||
number_of_records: 0
|
||||
format: default_summary
|
||||
specify_validation: false
|
||||
validate:
|
||||
type: none
|
||||
fail: 'not found'
|
||||
validate_options: { }
|
||||
break_phrase: false
|
||||
not: false
|
||||
entity_type: node
|
||||
entity_field: nid
|
||||
plugin_id: numeric
|
||||
display_extenders: { }
|
||||
css_class: ''
|
||||
use_more: true
|
||||
use_more_always: true
|
||||
use_more_text: '%1-more-text-!1'
|
||||
link_url: '%1-custom-url-!1'
|
||||
link_display: custom_url
|
||||
cache_metadata:
|
||||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- url
|
||||
- url.query_args
|
||||
- 'user.node_grants:view'
|
||||
- user.permissions
|
||||
cacheable: false
|
||||
block_1:
|
||||
display_plugin: block
|
||||
id: block_1
|
||||
display_title: Block
|
||||
position: 2
|
||||
display_options:
|
||||
display_extenders: { }
|
||||
cache_metadata:
|
||||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- url
|
||||
- url.query_args
|
||||
- 'user.node_grants:view'
|
||||
- user.permissions
|
||||
cacheable: false
|
||||
page_1:
|
||||
display_plugin: page
|
||||
id: page_1
|
||||
display_title: Page
|
||||
position: 1
|
||||
display_options:
|
||||
display_extenders: { }
|
||||
path: test-token-view
|
||||
cache_metadata:
|
||||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- url
|
||||
- url.query_args
|
||||
- 'user.node_grants:view'
|
||||
- user.permissions
|
||||
cacheable: false
|
||||
feed_1:
|
||||
display_plugin: feed
|
||||
id: feed_1
|
||||
display_title: Feed
|
||||
position: 1
|
||||
display_options:
|
||||
defaults:
|
||||
style: false
|
||||
display_extenders: { }
|
||||
style:
|
||||
type: rss
|
||||
options:
|
||||
description: '%1-description-!1'
|
||||
|
||||
path: test-token-view.xml
|
||||
cache_metadata:
|
||||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- url
|
||||
- url.query_args
|
||||
- 'user.node_grants:view'
|
||||
- user.permissions
|
||||
cacheable: false
|
|
@ -27,4 +27,21 @@ class ArgumentValidatorTest extends ArgumentValidatorPluginBase {
|
|||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function defineOptions() {
|
||||
$options = parent::defineOptions();
|
||||
$options['test_value'] = ['default' => ''];
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function validateArgument($arg) {
|
||||
return $arg == $this->options['test_value'];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ class DisplayTest extends DisplayPluginBase {
|
|||
/**
|
||||
* Overrides \Drupal\views\Plugin\views\display\DisplayPluginBase::getType().
|
||||
*/
|
||||
protected function getType() {
|
||||
public function getType() {
|
||||
return 'test';
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ class FieldTest extends FieldPluginBase {
|
|||
* Overrides Drupal\views\Plugin\views\field\FieldPluginBase::addSelfTokens().
|
||||
*/
|
||||
protected function addSelfTokens(&$tokens, $item) {
|
||||
$tokens['[test__token]'] = $this->getTestValue();
|
||||
$tokens['{{ test_token }}'] = $this->getTestValue();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -110,3 +110,17 @@ function template_preprocess_views_view_mapping_test(&$variables) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test pre_render function.
|
||||
*
|
||||
* @param array $element
|
||||
* A render array
|
||||
*
|
||||
* @return array
|
||||
* The changed render array.
|
||||
*/
|
||||
function views_test_data_test_pre_render_function($element) {
|
||||
$element['#markup'] = 'views_test_data_test_pre_render_function executed';
|
||||
return $element;
|
||||
}
|
||||
|
|
|
@ -28,8 +28,8 @@ class AttachmentTestFormatter extends NumericUnformattedFormatter {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function viewElements(FieldItemListInterface $items) {
|
||||
$elements = parent::viewElements($items);
|
||||
public function viewElements(FieldItemListInterface $items, $langcode) {
|
||||
$elements = parent::viewElements($items, $langcode);
|
||||
|
||||
// Add dummy attachments.
|
||||
$entity_id = $items->getEntity()->id();
|
||||
|
|
|
@ -97,6 +97,7 @@ class ViewAjaxControllerTest extends UnitTestCase {
|
|||
$this->getMock('\Drupal\Core\Controller\ControllerResolverInterface'),
|
||||
$this->getMock('\Drupal\Core\Theme\ThemeManagerInterface'),
|
||||
$element_info_manager,
|
||||
$this->getMock('\Drupal\Core\Render\PlaceholderGeneratorInterface'),
|
||||
$this->getMock('\Drupal\Core\Render\RenderCacheInterface'),
|
||||
$request_stack,
|
||||
[
|
||||
|
|
|
@ -485,7 +485,7 @@ class EntityViewsDataTest extends UnitTestCase {
|
|||
$base_field_definitions = $this->setupBaseFields(EntityTestMul::baseFieldDefinitions($this->baseEntityType));
|
||||
$base_field_definitions['type'] = BaseFieldDefinition::create('entity_reference')
|
||||
->setLabel('entity test type')
|
||||
->setSettings(array('target_type' => 'entity_test_bundle'))
|
||||
->setSetting('target_type', 'entity_test_bundle')
|
||||
->setTranslatable(TRUE);
|
||||
$base_field_definitions = $this->setupBaseFields($base_field_definitions);
|
||||
$user_base_field_definitions = [
|
||||
|
|
|
@ -64,7 +64,7 @@ class RouteSubscriberTest extends UnitTestCase {
|
|||
* @covers ::routeRebuildFinished
|
||||
*/
|
||||
public function testRouteRebuildFinished() {
|
||||
list($view, $executable, $display_1, $display_2) = $this->setupMocks();
|
||||
list($display_1, $display_2) = $this->setupMocks();
|
||||
|
||||
$display_1->expects($this->once())
|
||||
->method('collectRoutes')
|
||||
|
@ -95,7 +95,7 @@ class RouteSubscriberTest extends UnitTestCase {
|
|||
|
||||
$route_event = new RouteBuildEvent($collection, 'views');
|
||||
|
||||
list($view, $executable, $display_1, $display_2) = $this->setupMocks();
|
||||
list($display_1, $display_2) = $this->setupMocks();
|
||||
|
||||
// The page_1 display overrides an existing route, so the dynamicRoutes
|
||||
// should only call the second display.
|
||||
|
@ -139,9 +139,8 @@ class RouteSubscriberTest extends UnitTestCase {
|
|||
/**
|
||||
* Sets up mocks of Views objects needed for testing.
|
||||
*
|
||||
* @return array
|
||||
* An array of Views mocks, including the executable, the view entity, and
|
||||
* two display plugins.
|
||||
* @return array \Drupal\views\Plugin\views\display\DisplayRouterInterface[]|\PHPUnit_Framework_MockObject_MockObject[]
|
||||
* An array of two mocked view displays
|
||||
*/
|
||||
protected function setupMocks() {
|
||||
$executable = $this->getMockBuilder('Drupal\views\ViewExecutable')
|
||||
|
@ -190,7 +189,7 @@ class RouteSubscriberTest extends UnitTestCase {
|
|||
$this->routeSubscriber->applicableViews[] = array('test_id', 'page_2');
|
||||
$this->routeSubscriber->applicableViews[] = array('test_id', 'page_3');
|
||||
|
||||
return array($executable, $view, $display_1, $display_2);
|
||||
return array($display_1, $display_2);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -206,7 +206,8 @@ class ViewsBlockTest extends UnitTestCase {
|
|||
}
|
||||
|
||||
namespace {
|
||||
// @todo replace views_add_contextual_links()
|
||||
// @todo https://www.drupal.org/node/2571679 replace
|
||||
// views_add_contextual_links().
|
||||
if (!function_exists('views_add_contextual_links')) {
|
||||
function views_add_contextual_links() {
|
||||
}
|
||||
|
|
|
@ -130,10 +130,10 @@ class EntityTest extends UnitTestCase {
|
|||
*/
|
||||
public function providerTestTokens() {
|
||||
return [
|
||||
['!1', 5],
|
||||
['%2', 6],
|
||||
['{{ raw_arguments.test1 }}', 5],
|
||||
['{{ arguments.test2 }}', 6],
|
||||
['{{ test_render_token }}', 7],
|
||||
['[test:global_token]', 8],
|
||||
['{{ test:global_token }}', 8],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -5,9 +5,12 @@
|
|||
* Contains \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest.
|
||||
*/
|
||||
|
||||
namespace Drupal\Tests\views\Unit\Plugin\field;
|
||||
namespace Drupal\Tests\views\Unit\Plugin\field {
|
||||
|
||||
use Drupal\Core\GeneratedUrl;
|
||||
use Drupal\Core\Language\Language;
|
||||
use Drupal\Core\Render\RendererInterface;
|
||||
use Drupal\Core\Render\Markup;
|
||||
use Drupal\Core\Url;
|
||||
use Drupal\Core\Utility\LinkGenerator;
|
||||
use Drupal\Core\Utility\LinkGeneratorInterface;
|
||||
|
@ -174,6 +177,22 @@ class FieldPluginBaseTest extends UnitTestCase {
|
|||
\Drupal::getContainer()->set('unrouted_url_assembler', $this->unroutedUrlAssembler);
|
||||
|
||||
$this->linkGenerator = new LinkGenerator($this->urlGenerator, $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface'), $this->renderer);
|
||||
$this->renderer
|
||||
->method('render')
|
||||
->willReturnCallback(
|
||||
// Pretend to do a render.
|
||||
function (&$elements, $is_root_call = FALSE) {
|
||||
// Mock the ability to theme links
|
||||
$link = $this->linkGenerator->generate($elements['#title'], $elements['#url']);
|
||||
if (isset($elements['#prefix'])) {
|
||||
$link = $elements['#prefix'] . $link;
|
||||
}
|
||||
if (isset($elements['#suffix'])) {
|
||||
$link = $link . $elements['#suffix'];
|
||||
}
|
||||
return Markup::create($link);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -208,6 +227,38 @@ class FieldPluginBaseTest extends UnitTestCase {
|
|||
$this->assertEquals($expected_result, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test rendering as a link without a path.
|
||||
*
|
||||
* @covers ::renderText
|
||||
*/
|
||||
public function testRenderTrimmedWithMoreLink() {
|
||||
$alter = [
|
||||
'trim' => TRUE,
|
||||
'max_length' => 7,
|
||||
'more_link' => TRUE,
|
||||
// Don't invoke translation.
|
||||
'ellipsis' => FALSE,
|
||||
'more_link_text' => 'more link',
|
||||
];
|
||||
|
||||
$this->display->expects($this->any())
|
||||
->method('getHandlers')
|
||||
->willReturnMap([
|
||||
['argument', []],
|
||||
['field', []],
|
||||
]);
|
||||
|
||||
$this->setUpUrlIntegrationServices();
|
||||
$field = $this->setupTestField(['alter' => $alter]);
|
||||
$field->field_alias = 'key';
|
||||
$row = new ResultRow(['key' => 'a long value']);
|
||||
|
||||
$expected_result = 'a long <a href="/%3Cfront%3E" class="views-more-link">more link</a>';
|
||||
$result = $field->advancedRender($row);
|
||||
$this->assertEquals($expected_result, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test rendering of a link with a path and options.
|
||||
*
|
||||
|
@ -229,7 +280,7 @@ class FieldPluginBaseTest extends UnitTestCase {
|
|||
$row = new ResultRow(['key' => 'value']);
|
||||
|
||||
$result = $field->advancedRender($row);
|
||||
$this->assertEquals($final_html, $result);
|
||||
$this->assertEquals($final_html, (string) $result);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -308,8 +359,8 @@ class FieldPluginBaseTest extends UnitTestCase {
|
|||
|
||||
$this->urlGenerator->expects($this->once())
|
||||
->method('generateFromRoute')
|
||||
->with($expected_url->getRouteName(), $expected_url->getRouteParameters(), $expected_url_options)
|
||||
->willReturn($url_path);
|
||||
->with($expected_url->getRouteName(), $expected_url->getRouteParameters(), $expected_url_options, TRUE)
|
||||
->willReturn((new GeneratedUrl())->setGeneratedUrl($url_path));
|
||||
|
||||
$result = $field->advancedRender($row);
|
||||
$this->assertEquals($final_html, $result);
|
||||
|
@ -449,8 +500,8 @@ class FieldPluginBaseTest extends UnitTestCase {
|
|||
];
|
||||
|
||||
$this->renderer->expects($this->once())
|
||||
->method('render')
|
||||
->with($build, FALSE)
|
||||
->method('renderPlain')
|
||||
->with($build)
|
||||
->willReturn('base:test-path/123');
|
||||
|
||||
$result = $field->advancedRender($row);
|
||||
|
@ -497,6 +548,67 @@ class FieldPluginBaseTest extends UnitTestCase {
|
|||
return $field;
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getRenderTokens
|
||||
*/
|
||||
public function testGetRenderTokensWithoutFieldsAndArguments() {
|
||||
$field = $this->setupTestField();
|
||||
|
||||
$this->display->expects($this->any())
|
||||
->method('getHandlers')
|
||||
->willReturnMap([
|
||||
['argument', []],
|
||||
['field', []],
|
||||
]);
|
||||
|
||||
$this->assertEquals([], $field->getRenderTokens([]));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getRenderTokens
|
||||
*/
|
||||
public function testGetRenderTokensWithoutArguments() {
|
||||
$field = $this->setupTestField(['id' => 'id']);
|
||||
|
||||
$field->last_render = 'last rendered output';
|
||||
$this->display->expects($this->any())
|
||||
->method('getHandlers')
|
||||
->willReturnMap([
|
||||
['argument', []],
|
||||
['field', ['id' => $field]],
|
||||
]);
|
||||
|
||||
$this->assertEquals(['{{ id }}' => 'last rendered output'], $field->getRenderTokens([]));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getRenderTokens
|
||||
*/
|
||||
public function testGetRenderTokensWithArguments() {
|
||||
$field = $this->setupTestField(['id' => 'id']);
|
||||
$field->view->args = ['argument value'];
|
||||
$field->view->build_info['substitutions']['{{ arguments.name }}'] = 'argument value';
|
||||
|
||||
$argument = $this->getMockBuilder('\Drupal\views\Plugin\views\argument\ArgumentPluginBase')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$field->last_render = 'last rendered output';
|
||||
$this->display->expects($this->any())
|
||||
->method('getHandlers')
|
||||
->willReturnMap([
|
||||
['argument', ['name' => $argument]],
|
||||
['field', ['id' => $field]],
|
||||
]);
|
||||
|
||||
$expected = [
|
||||
'{{ id }}' => 'last rendered output',
|
||||
'{{ arguments.name }}' => 'argument value',
|
||||
'{{ raw_arguments.name }}' => 'argument value',
|
||||
];
|
||||
$this->assertEquals($expected, $field->getRenderTokens([]));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class FieldPluginBaseTestField extends FieldPluginBase {
|
||||
|
@ -506,3 +618,12 @@ class FieldPluginBaseTestField extends FieldPluginBase {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
// @todo Remove as part of https://www.drupal.org/node/2529170.
|
||||
namespace {
|
||||
if (!function_exists('base_path')) {
|
||||
function base_path() {
|
||||
return '/';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,6 +24,13 @@ class EntityOperationsUnitTest extends UnitTestCase {
|
|||
*/
|
||||
protected $entityManager;
|
||||
|
||||
/**
|
||||
* The language manager.
|
||||
*
|
||||
* @var \Drupal\Core\Language\LanguageManagerInterface|\PHPUnit_Framework_MockObject_MockObject
|
||||
*/
|
||||
protected $languageManager;
|
||||
|
||||
/**
|
||||
* The plugin under test.
|
||||
*
|
||||
|
@ -38,13 +45,14 @@ class EntityOperationsUnitTest extends UnitTestCase {
|
|||
*/
|
||||
public function setUp() {
|
||||
$this->entityManager = $this->getMock('\Drupal\Core\Entity\EntityManagerInterface');
|
||||
$this->languageManager = $this->getMock('\Drupal\Core\Language\LanguageManagerInterface');
|
||||
|
||||
$configuration = array();
|
||||
$plugin_id = $this->randomMachineName();
|
||||
$plugin_definition = array(
|
||||
'title' => $this->randomMachineName(),
|
||||
);
|
||||
$this->plugin = new EntityOperations($configuration, $plugin_id, $plugin_definition, $this->entityManager);
|
||||
$this->plugin = new EntityOperations($configuration, $plugin_id, $plugin_definition, $this->entityManager, $this->languageManager);
|
||||
|
||||
$redirect_service = $this->getMock('Drupal\Core\Routing\RedirectDestinationInterface');
|
||||
$redirect_service->expects($this->any())
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Contains \Drupal\Tests\views\Unit\Routing\ViewPageControllerTest.
|
||||
*/
|
||||
|
||||
namespace Drupal\Tests\views\Unit\Routing;
|
||||
namespace Drupal\Tests\views\Unit\Routing {
|
||||
|
||||
use Drupal\Core\Routing\RouteMatch;
|
||||
use Drupal\Tests\UnitTestCase;
|
||||
|
@ -181,3 +181,14 @@ class ViewPageControllerTest extends UnitTestCase {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace {
|
||||
// @todo https://www.drupal.org/node/2571679 replace
|
||||
// views_add_contextual_links()
|
||||
if (!function_exists('views_add_contextual_links')) {
|
||||
function views_add_contextual_links() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme override to display all the fields in a views row.
|
||||
*
|
||||
* The reason for this template is to override the theme function provided by
|
||||
* views to allow tests to run against the twig template.
|
||||
*/
|
||||
#}
|
||||
{% include '@views/views-view-field.html.twig' %}
|
||||
Use posts instead of twigs to protect your llamas from escaping the field.
|
Reference in a new issue