Update Composer, update everything
This commit is contained in:
parent
ea3e94409f
commit
dda5c284b6
19527 changed files with 1135420 additions and 351004 deletions
|
@ -0,0 +1,69 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.media.type_four.field_media_test_image
|
||||
- field.field.media.type_four.field_media_extra_image
|
||||
- image.style.medium
|
||||
- media.type.type_four
|
||||
module:
|
||||
- image
|
||||
- path
|
||||
id: media.type_four.default
|
||||
targetEntityType: media
|
||||
bundle: type_four
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
type: datetime_timestamp
|
||||
weight: 10
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
field_media_test_image:
|
||||
weight: 0
|
||||
settings:
|
||||
progress_indicator: throbber
|
||||
preview_image_style: medium
|
||||
third_party_settings: { }
|
||||
type: image_image
|
||||
region: content
|
||||
field_media_extra_image:
|
||||
weight: 1
|
||||
settings:
|
||||
progress_indicator: throbber
|
||||
preview_image_style: medium
|
||||
third_party_settings: { }
|
||||
type: image_image
|
||||
region: content
|
||||
name:
|
||||
type: string_textfield
|
||||
weight: -5
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
path:
|
||||
type: path
|
||||
weight: 30
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
status:
|
||||
type: boolean_checkbox
|
||||
settings:
|
||||
display_label: true
|
||||
weight: 100
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
type: entity_reference_autocomplete
|
||||
weight: 5
|
||||
settings:
|
||||
match_operator: CONTAINS
|
||||
size: 60
|
||||
placeholder: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
hidden: { }
|
|
@ -0,0 +1,44 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- core.entity_form_mode.media.media_library
|
||||
- field.field.media.type_four.field_media_test_image
|
||||
- image.style.thumbnail
|
||||
- media.type.type_four
|
||||
module:
|
||||
- image
|
||||
id: media.type_four.media_library
|
||||
targetEntityType: media
|
||||
bundle: type_four
|
||||
mode: media_library
|
||||
content:
|
||||
field_media_test_image:
|
||||
weight: 2
|
||||
settings:
|
||||
progress_indicator: throbber
|
||||
preview_image_style: thumbnail
|
||||
third_party_settings: { }
|
||||
type: image_image
|
||||
region: content
|
||||
field_media_extra_image:
|
||||
weight: 1
|
||||
settings:
|
||||
progress_indicator: throbber
|
||||
preview_image_style: medium
|
||||
third_party_settings: { }
|
||||
type: image_image
|
||||
region: content
|
||||
name:
|
||||
type: string_textfield
|
||||
weight: 0
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
hidden:
|
||||
created: true
|
||||
path: true
|
||||
status: true
|
||||
uid: true
|
|
@ -0,0 +1,43 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.media.type_one.field_media_test
|
||||
- media.type.type_one
|
||||
id: media.type_one.default
|
||||
targetEntityType: media
|
||||
bundle: type_one
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
type: datetime_timestamp
|
||||
weight: 10
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
field_media_test:
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
type: string_textfield
|
||||
weight: 11
|
||||
region: content
|
||||
name:
|
||||
type: string_textfield
|
||||
weight: -5
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
type: entity_reference_autocomplete
|
||||
weight: 5
|
||||
settings:
|
||||
match_operator: CONTAINS
|
||||
size: 60
|
||||
placeholder: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
hidden: { }
|
|
@ -0,0 +1,60 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.media.type_three.field_media_test_image
|
||||
- image.style.medium
|
||||
- media.type.type_three
|
||||
module:
|
||||
- image
|
||||
- path
|
||||
id: media.type_three.default
|
||||
targetEntityType: media
|
||||
bundle: type_three
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
type: datetime_timestamp
|
||||
weight: 10
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
field_media_test_image:
|
||||
weight: 0
|
||||
settings:
|
||||
progress_indicator: throbber
|
||||
preview_image_style: medium
|
||||
third_party_settings: { }
|
||||
type: image_image
|
||||
region: content
|
||||
name:
|
||||
type: string_textfield
|
||||
weight: -5
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
path:
|
||||
type: path
|
||||
weight: 30
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
status:
|
||||
type: boolean_checkbox
|
||||
settings:
|
||||
display_label: true
|
||||
weight: 100
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
type: entity_reference_autocomplete
|
||||
weight: 5
|
||||
settings:
|
||||
match_operator: CONTAINS
|
||||
size: 60
|
||||
placeholder: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
hidden: { }
|
|
@ -0,0 +1,36 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- core.entity_form_mode.media.media_library
|
||||
- field.field.media.type_three.field_media_test_image
|
||||
- image.style.thumbnail
|
||||
- media.type.type_three
|
||||
module:
|
||||
- image
|
||||
id: media.type_three.media_library
|
||||
targetEntityType: media
|
||||
bundle: type_three
|
||||
mode: media_library
|
||||
content:
|
||||
field_media_test_image:
|
||||
weight: 1
|
||||
settings:
|
||||
progress_indicator: throbber
|
||||
preview_image_style: thumbnail
|
||||
third_party_settings: { }
|
||||
type: image_image
|
||||
region: content
|
||||
name:
|
||||
type: string_textfield
|
||||
weight: 0
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
hidden:
|
||||
created: true
|
||||
path: true
|
||||
status: true
|
||||
uid: true
|
|
@ -0,0 +1,43 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.media.type_two.field_media_test_1
|
||||
- media.type.type_two
|
||||
id: media.type_two.default
|
||||
targetEntityType: media
|
||||
bundle: type_two
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
type: datetime_timestamp
|
||||
weight: 10
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
field_media_test_1:
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
type: string_textfield
|
||||
weight: 11
|
||||
region: content
|
||||
name:
|
||||
type: string_textfield
|
||||
weight: -5
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
type: entity_reference_autocomplete
|
||||
weight: 5
|
||||
settings:
|
||||
match_operator: CONTAINS
|
||||
size: 60
|
||||
placeholder: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
hidden: { }
|
|
@ -0,0 +1,78 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.node.basic_page.field_twin_media
|
||||
- field.field.node.basic_page.field_unlimited_media
|
||||
- field.field.node.basic_page.field_noadd_media
|
||||
- node.type.basic_page
|
||||
module:
|
||||
- media_library
|
||||
id: node.basic_page.default
|
||||
targetEntityType: node
|
||||
bundle: basic_page
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
type: datetime_timestamp
|
||||
weight: 10
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
field_twin_media:
|
||||
type: media_library_widget
|
||||
weight: 122
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
region: content
|
||||
field_unlimited_media:
|
||||
type: media_library_widget
|
||||
weight: 121
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
region: content
|
||||
field_noadd_media:
|
||||
type: media_library_widget
|
||||
weight: 123
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
region: content
|
||||
promote:
|
||||
type: boolean_checkbox
|
||||
settings:
|
||||
display_label: true
|
||||
weight: 15
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
status:
|
||||
type: boolean_checkbox
|
||||
settings:
|
||||
display_label: true
|
||||
weight: 120
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
sticky:
|
||||
type: boolean_checkbox
|
||||
settings:
|
||||
display_label: true
|
||||
weight: 16
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
title:
|
||||
type: string_textfield
|
||||
weight: -5
|
||||
region: content
|
||||
settings:
|
||||
size: 60
|
||||
placeholder: ''
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
type: entity_reference_autocomplete
|
||||
weight: 5
|
||||
settings:
|
||||
match_operator: CONTAINS
|
||||
size: 60
|
||||
placeholder: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
hidden: { }
|
|
@ -0,0 +1,50 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.media.type_one.field_media_test
|
||||
- image.style.thumbnail
|
||||
- media.type.type_one
|
||||
module:
|
||||
- image
|
||||
- user
|
||||
id: media.type_one.default
|
||||
targetEntityType: media
|
||||
bundle: type_one
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
label: hidden
|
||||
type: timestamp
|
||||
weight: 0
|
||||
region: content
|
||||
settings:
|
||||
date_format: medium
|
||||
custom_date_format: ''
|
||||
timezone: ''
|
||||
third_party_settings: { }
|
||||
field_media_test:
|
||||
label: above
|
||||
settings:
|
||||
link_to_entity: true
|
||||
third_party_settings: { }
|
||||
type: string
|
||||
weight: 6
|
||||
region: content
|
||||
thumbnail:
|
||||
type: image
|
||||
weight: 5
|
||||
label: hidden
|
||||
settings:
|
||||
image_style: thumbnail
|
||||
image_link: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
label: hidden
|
||||
type: author
|
||||
weight: 0
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
hidden: { }
|
|
@ -0,0 +1,52 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.media.type_three.field_media_test_image
|
||||
- image.style.thumbnail
|
||||
- media.type.type_three
|
||||
module:
|
||||
- image
|
||||
- user
|
||||
id: media.type_three.default
|
||||
targetEntityType: media
|
||||
bundle: type_three
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
label: hidden
|
||||
type: timestamp
|
||||
weight: 0
|
||||
region: content
|
||||
settings:
|
||||
date_format: medium
|
||||
custom_date_format: ''
|
||||
timezone: ''
|
||||
third_party_settings: { }
|
||||
field_media_test_image:
|
||||
weight: 6
|
||||
label: above
|
||||
settings:
|
||||
image_style: ''
|
||||
image_link: ''
|
||||
third_party_settings: { }
|
||||
type: image
|
||||
region: content
|
||||
thumbnail:
|
||||
type: image
|
||||
weight: 5
|
||||
label: hidden
|
||||
settings:
|
||||
image_style: thumbnail
|
||||
image_link: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
label: hidden
|
||||
type: author
|
||||
weight: 0
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
hidden:
|
||||
name: true
|
|
@ -0,0 +1,50 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.media.type_two.field_media_test_1
|
||||
- image.style.thumbnail
|
||||
- media.type.type_two
|
||||
module:
|
||||
- image
|
||||
- user
|
||||
id: media.type_two.default
|
||||
targetEntityType: media
|
||||
bundle: type_two
|
||||
mode: default
|
||||
content:
|
||||
created:
|
||||
label: hidden
|
||||
type: timestamp
|
||||
weight: 0
|
||||
region: content
|
||||
settings:
|
||||
date_format: medium
|
||||
custom_date_format: ''
|
||||
timezone: ''
|
||||
third_party_settings: { }
|
||||
field_media_test_1:
|
||||
label: above
|
||||
settings:
|
||||
link_to_entity: false
|
||||
third_party_settings: { }
|
||||
type: string
|
||||
weight: 6
|
||||
region: content
|
||||
thumbnail:
|
||||
type: image
|
||||
weight: 5
|
||||
label: hidden
|
||||
settings:
|
||||
image_style: thumbnail
|
||||
image_link: ''
|
||||
region: content
|
||||
third_party_settings: { }
|
||||
uid:
|
||||
label: hidden
|
||||
type: author
|
||||
weight: 0
|
||||
region: content
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
hidden: { }
|
|
@ -0,0 +1,48 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.field.node.basic_page.field_twin_media
|
||||
- field.field.node.basic_page.field_unlimited_media
|
||||
- field.field.node.basic_page.field_noadd_media
|
||||
- node.type.basic_page
|
||||
module:
|
||||
- user
|
||||
id: node.basic_page.default
|
||||
targetEntityType: node
|
||||
bundle: basic_page
|
||||
mode: default
|
||||
content:
|
||||
field_twin_media:
|
||||
type: entity_reference_entity_view
|
||||
weight: 102
|
||||
label: above
|
||||
settings:
|
||||
view_mode: default
|
||||
link: false
|
||||
third_party_settings: { }
|
||||
region: content
|
||||
field_unlimited_media:
|
||||
type: entity_reference_entity_view
|
||||
weight: 101
|
||||
label: above
|
||||
settings:
|
||||
view_mode: default
|
||||
link: false
|
||||
third_party_settings: { }
|
||||
region: content
|
||||
field_noadd_media:
|
||||
type: entity_reference_entity_view
|
||||
weight: 103
|
||||
label: above
|
||||
settings:
|
||||
view_mode: default
|
||||
link: false
|
||||
third_party_settings: { }
|
||||
region: content
|
||||
links:
|
||||
weight: 100
|
||||
settings: { }
|
||||
third_party_settings: { }
|
||||
region: content
|
||||
hidden: { }
|
|
@ -0,0 +1,37 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.media.field_media_extra_image
|
||||
- media.type.type_four
|
||||
module:
|
||||
- image
|
||||
id: media.type_three.field_media_extra_image
|
||||
field_name: field_media_extra_image
|
||||
entity_type: media
|
||||
bundle: type_four
|
||||
label: Extra Image
|
||||
description: ''
|
||||
required: false
|
||||
translatable: true
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings:
|
||||
file_extensions: 'jpg'
|
||||
alt_field: false
|
||||
alt_field_required: false
|
||||
title_field: false
|
||||
title_field_required: false
|
||||
max_resolution: ''
|
||||
min_resolution: ''
|
||||
default_image:
|
||||
uuid: null
|
||||
alt: ''
|
||||
title: ''
|
||||
width: null
|
||||
height: null
|
||||
file_directory: 'type-four-extra-dir'
|
||||
max_filesize: ''
|
||||
handler: 'default:file'
|
||||
handler_settings: { }
|
||||
field_type: image
|
|
@ -0,0 +1,37 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.media.field_media_test_image
|
||||
- media.type.type_four
|
||||
module:
|
||||
- image
|
||||
id: media.type_three.field_media_test_image
|
||||
field_name: field_media_test_image
|
||||
entity_type: media
|
||||
bundle: type_four
|
||||
label: Image
|
||||
description: ''
|
||||
required: true
|
||||
translatable: true
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings:
|
||||
file_extensions: 'jpg'
|
||||
alt_field: true
|
||||
alt_field_required: true
|
||||
title_field: false
|
||||
title_field_required: false
|
||||
max_resolution: ''
|
||||
min_resolution: ''
|
||||
default_image:
|
||||
uuid: null
|
||||
alt: ''
|
||||
title: ''
|
||||
width: null
|
||||
height: null
|
||||
file_directory: 'type-four-dir'
|
||||
max_filesize: ''
|
||||
handler: 'default:file'
|
||||
handler_settings: { }
|
||||
field_type: image
|
|
@ -0,0 +1,18 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.media.field_media_test
|
||||
- media.type.type_one
|
||||
id: media.type_one.field_media_test
|
||||
field_name: field_media_test
|
||||
entity_type: media
|
||||
bundle: type_one
|
||||
label: field_media_test
|
||||
description: ''
|
||||
required: false
|
||||
translatable: true
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings: { }
|
||||
field_type: string
|
|
@ -0,0 +1,37 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.media.field_media_test_image
|
||||
- media.type.type_three
|
||||
module:
|
||||
- image
|
||||
id: media.type_three.field_media_test_image
|
||||
field_name: field_media_test_image
|
||||
entity_type: media
|
||||
bundle: type_three
|
||||
label: Image
|
||||
description: ''
|
||||
required: true
|
||||
translatable: true
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings:
|
||||
file_extensions: 'png gif jpg jpeg'
|
||||
alt_field: true
|
||||
alt_field_required: true
|
||||
title_field: false
|
||||
title_field_required: false
|
||||
max_resolution: ''
|
||||
min_resolution: ''
|
||||
default_image:
|
||||
uuid: null
|
||||
alt: ''
|
||||
title: ''
|
||||
width: null
|
||||
height: null
|
||||
file_directory: 'type-three-dir'
|
||||
max_filesize: ''
|
||||
handler: 'default:file'
|
||||
handler_settings: { }
|
||||
field_type: image
|
|
@ -0,0 +1,18 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.media.field_media_test_1
|
||||
- media.type.type_two
|
||||
id: media.type_two.field_media_test_1
|
||||
field_name: field_media_test_1
|
||||
entity_type: media
|
||||
bundle: type_two
|
||||
label: field_media_test_1
|
||||
description: ''
|
||||
required: false
|
||||
translatable: true
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings: { }
|
||||
field_type: string
|
|
@ -0,0 +1,29 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.node.field_noadd_media
|
||||
- media.type.type_one
|
||||
- media.type.type_two
|
||||
- node.type.basic_page
|
||||
id: node.basic_page.field_noadd_media
|
||||
field_name: field_noadd_media
|
||||
entity_type: node
|
||||
bundle: basic_page
|
||||
label: 'No add media'
|
||||
description: ''
|
||||
required: false
|
||||
translatable: false
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings:
|
||||
handler: 'default:media'
|
||||
handler_settings:
|
||||
target_bundles:
|
||||
type_one: type_one
|
||||
type_two: type_two
|
||||
sort:
|
||||
field: _none
|
||||
auto_create: false
|
||||
auto_create_bundle: file
|
||||
field_type: entity_reference
|
|
@ -0,0 +1,31 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.node.field_twin_media
|
||||
- media.type.type_one
|
||||
- media.type.type_two
|
||||
- node.type.basic_page
|
||||
id: node.basic_page.field_twin_media
|
||||
field_name: field_twin_media
|
||||
entity_type: node
|
||||
bundle: basic_page
|
||||
label: 'Twin media'
|
||||
description: ''
|
||||
required: false
|
||||
translatable: false
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings:
|
||||
handler: 'default:media'
|
||||
handler_settings:
|
||||
target_bundles:
|
||||
type_one: type_one
|
||||
type_two: type_two
|
||||
type_three: type_three
|
||||
type_four: type_four
|
||||
sort:
|
||||
field: _none
|
||||
auto_create: false
|
||||
auto_create_bundle: file
|
||||
field_type: entity_reference
|
|
@ -0,0 +1,28 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- field.storage.node.field_unlimited_media
|
||||
- media.type.type_one
|
||||
- node.type.basic_page
|
||||
id: node.basic_page.field_unlimited_media
|
||||
field_name: field_unlimited_media
|
||||
entity_type: node
|
||||
bundle: basic_page
|
||||
label: 'Unlimited media'
|
||||
description: ''
|
||||
required: false
|
||||
translatable: false
|
||||
default_value: { }
|
||||
default_value_callback: ''
|
||||
settings:
|
||||
handler: 'default:media'
|
||||
handler_settings:
|
||||
target_bundles:
|
||||
type_one: type_one
|
||||
type_three: type_three
|
||||
sort:
|
||||
field: _none
|
||||
auto_create: false
|
||||
auto_create_bundle: audio
|
||||
field_type: entity_reference
|
|
@ -0,0 +1,29 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- file
|
||||
- image
|
||||
- media
|
||||
id: media.field_media_extra_image
|
||||
field_name: field_media_extra_image
|
||||
entity_type: media
|
||||
type: image
|
||||
settings:
|
||||
default_image:
|
||||
uuid: null
|
||||
alt: ''
|
||||
title: ''
|
||||
width: null
|
||||
height: null
|
||||
target_type: file
|
||||
display_field: false
|
||||
display_default: false
|
||||
uri_scheme: public
|
||||
module: image
|
||||
locked: false
|
||||
cardinality: 1
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
|
@ -0,0 +1,20 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- media
|
||||
id: media.field_media_test
|
||||
field_name: field_media_test
|
||||
entity_type: media
|
||||
type: string
|
||||
settings:
|
||||
max_length: 255
|
||||
is_ascii: false
|
||||
case_sensitive: false
|
||||
module: core
|
||||
locked: false
|
||||
cardinality: 1
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
|
@ -0,0 +1,20 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- media
|
||||
id: media.field_media_test_1
|
||||
field_name: field_media_test_1
|
||||
entity_type: media
|
||||
type: string
|
||||
settings:
|
||||
max_length: 255
|
||||
is_ascii: false
|
||||
case_sensitive: false
|
||||
module: core
|
||||
locked: false
|
||||
cardinality: 1
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
|
@ -0,0 +1,29 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- file
|
||||
- image
|
||||
- media
|
||||
id: media.field_media_test_image
|
||||
field_name: field_media_test_image
|
||||
entity_type: media
|
||||
type: image
|
||||
settings:
|
||||
default_image:
|
||||
uuid: null
|
||||
alt: ''
|
||||
title: ''
|
||||
width: null
|
||||
height: null
|
||||
target_type: file
|
||||
display_field: false
|
||||
display_default: false
|
||||
uri_scheme: public
|
||||
module: image
|
||||
locked: false
|
||||
cardinality: 1
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
|
@ -0,0 +1,19 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- media
|
||||
- node
|
||||
id: node.field_noadd_media
|
||||
field_name: field_noadd_media
|
||||
entity_type: node
|
||||
type: entity_reference
|
||||
settings:
|
||||
target_type: media
|
||||
module: core
|
||||
locked: false
|
||||
cardinality: -1
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
|
@ -0,0 +1,19 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- media
|
||||
- node
|
||||
id: node.field_twin_media
|
||||
field_name: field_twin_media
|
||||
entity_type: node
|
||||
type: entity_reference
|
||||
settings:
|
||||
target_type: media
|
||||
module: core
|
||||
locked: false
|
||||
cardinality: 2
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
|
@ -0,0 +1,19 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- media
|
||||
- node
|
||||
id: node.field_unlimited_media
|
||||
field_name: field_unlimited_media
|
||||
entity_type: node
|
||||
type: entity_reference
|
||||
settings:
|
||||
target_type: media
|
||||
module: core
|
||||
locked: false
|
||||
cardinality: -1
|
||||
translatable: true
|
||||
indexes: { }
|
||||
persist_with_no_fields: false
|
||||
custom_storage: false
|
|
@ -0,0 +1,12 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies: { }
|
||||
id: type_four
|
||||
label: 'Type Four'
|
||||
description: ''
|
||||
source: image
|
||||
queue_thumbnail_downloads: false
|
||||
new_revision: false
|
||||
source_configuration:
|
||||
source_field: field_media_test_image
|
||||
field_map: { }
|
|
@ -0,0 +1,16 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- media
|
||||
- media_test_source
|
||||
id: type_one
|
||||
label: 'Type One'
|
||||
description: ''
|
||||
source: test
|
||||
queue_thumbnail_downloads: false
|
||||
new_revision: false
|
||||
source_configuration:
|
||||
source_field: field_media_test
|
||||
test_config_value: 'This is default value.'
|
||||
field_map: { }
|
|
@ -0,0 +1,12 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies: { }
|
||||
id: type_three
|
||||
label: 'Type Three'
|
||||
description: ''
|
||||
source: image
|
||||
queue_thumbnail_downloads: false
|
||||
new_revision: false
|
||||
source_configuration:
|
||||
source_field: field_media_test_image
|
||||
field_map: { }
|
|
@ -0,0 +1,16 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- media
|
||||
- media_test_source
|
||||
id: type_two
|
||||
label: 'Type Two'
|
||||
description: ''
|
||||
source: test
|
||||
queue_thumbnail_downloads: false
|
||||
new_revision: false
|
||||
source_configuration:
|
||||
source_field: field_media_test_1
|
||||
test_config_value: 'This is default value.'
|
||||
field_map: { }
|
|
@ -0,0 +1,9 @@
|
|||
langcode: en
|
||||
status: true
|
||||
name: 'Basic Page'
|
||||
type: basic_page
|
||||
description: ''
|
||||
help: ''
|
||||
new_revision: true
|
||||
preview_mode: 1
|
||||
display_submitted: true
|
|
@ -0,0 +1,12 @@
|
|||
name: 'Media library test'
|
||||
type: module
|
||||
description: 'Test module for Media library.'
|
||||
package: Testing
|
||||
core: 8.x
|
||||
dependencies:
|
||||
- drupal:image
|
||||
- drupal:media_library
|
||||
- drupal:media_test_source
|
||||
- drupal:menu_ui
|
||||
- drupal:node
|
||||
- drupal:path
|
|
@ -0,0 +1,445 @@
|
|||
<?php
|
||||
|
||||
namespace Drupal\Tests\media_library\FunctionalJavascript;
|
||||
|
||||
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
|
||||
use Drupal\media\Entity\Media;
|
||||
use Drupal\Tests\TestFileCreationTrait;
|
||||
use Drupal\user\Entity\Role;
|
||||
use Drupal\user\RoleInterface;
|
||||
|
||||
/**
|
||||
* Contains Media library integration tests.
|
||||
*
|
||||
* @group media_library
|
||||
*/
|
||||
class MediaLibraryTest extends WebDriverTestBase {
|
||||
|
||||
use TestFileCreationTrait;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected static $modules = ['block', 'media_library_test'];
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
// Create a few example media items for use in selection.
|
||||
$media = [
|
||||
'type_one' => [
|
||||
'Horse',
|
||||
'Bear',
|
||||
'Cat',
|
||||
'Dog',
|
||||
],
|
||||
'type_two' => [
|
||||
'Crocodile',
|
||||
'Lizard',
|
||||
'Snake',
|
||||
'Turtle',
|
||||
],
|
||||
];
|
||||
|
||||
$time = time();
|
||||
foreach ($media as $type => $names) {
|
||||
foreach ($names as $name) {
|
||||
$entity = Media::create(['name' => $name, 'bundle' => $type]);
|
||||
$source_field = $type === 'type_one' ? 'field_media_test' : 'field_media_test_1';
|
||||
$entity->setCreatedTime(++$time);
|
||||
$entity->set($source_field, $name);
|
||||
$entity->save();
|
||||
}
|
||||
}
|
||||
|
||||
// Create a user who can use the Media library.
|
||||
$user = $this->drupalCreateUser([
|
||||
'access administration pages',
|
||||
'access content',
|
||||
'access media overview',
|
||||
'edit own basic_page content',
|
||||
'create basic_page content',
|
||||
'create media',
|
||||
'delete any media',
|
||||
'view media',
|
||||
]);
|
||||
$this->drupalLogin($user);
|
||||
$this->drupalPlaceBlock('local_tasks_block');
|
||||
$this->drupalPlaceBlock('local_actions_block');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the Media library's administration page works as expected.
|
||||
*/
|
||||
public function testAdministrationPage() {
|
||||
$session = $this->getSession();
|
||||
$page = $session->getPage();
|
||||
$assert_session = $this->assertSession();
|
||||
|
||||
// Visit the administration page.
|
||||
$this->drupalGet('admin/content/media');
|
||||
|
||||
// Verify that the "Add media" link is present.
|
||||
$assert_session->linkExists('Add media');
|
||||
|
||||
// Verify that media from two separate types is present.
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextContains('Turtle');
|
||||
|
||||
// Test that users can filter by type.
|
||||
$page->selectFieldOption('Media type', 'Type One');
|
||||
$page->pressButton('Apply Filters');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextNotContains('Turtle');
|
||||
$page->selectFieldOption('Media type', 'Type Two');
|
||||
$page->pressButton('Apply Filters');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$assert_session->pageTextNotContains('Dog');
|
||||
$assert_session->pageTextContains('Turtle');
|
||||
|
||||
// Test that selecting elements as a part of bulk operations works.
|
||||
$page->selectFieldOption('Media type', '- Any -');
|
||||
$page->pressButton('Apply Filters');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// This tests that anchor tags clicked inside the preview are suppressed.
|
||||
$this->getSession()->executeScript('jQuery(".js-click-to-select-trigger a")[0].click()');
|
||||
$this->submitForm([], 'Apply to selected items');
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextNotContains('Cat');
|
||||
$this->submitForm([], 'Delete');
|
||||
$assert_session->pageTextNotContains('Dog');
|
||||
$assert_session->pageTextContains('Cat');
|
||||
|
||||
// Test 'Select all media'.
|
||||
$this->getSession()->getPage()->checkField('Select all media');
|
||||
$this->getSession()->getPage()->selectFieldOption('Action', 'media_delete_action');
|
||||
$this->submitForm([], 'Apply to selected items');
|
||||
$this->getSession()->getPage()->pressButton('Delete');
|
||||
|
||||
$assert_session->pageTextNotContains('Cat');
|
||||
$assert_session->pageTextNotContains('Turtle');
|
||||
$assert_session->pageTextNotContains('Snake');
|
||||
|
||||
// Test empty text.
|
||||
$assert_session->pageTextContains('No media available.');
|
||||
|
||||
// Verify that the "Table" link is present, click it and check address.
|
||||
$assert_session->linkExists('Table');
|
||||
$page->clickLink('Table');
|
||||
$assert_session->addressEquals('admin/content/media-table');
|
||||
// Verify that the "Add media" link is present.
|
||||
$assert_session->linkExists('Add media');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the Media library's widget works as expected.
|
||||
*/
|
||||
public function testWidget() {
|
||||
$assert_session = $this->assertSession();
|
||||
$page = $this->getSession()->getPage();
|
||||
|
||||
// Visit a node create page.
|
||||
$this->drupalGet('node/add/basic_page');
|
||||
|
||||
// Verify that both media widget instances are present.
|
||||
$assert_session->pageTextContains('Unlimited media');
|
||||
$assert_session->pageTextContains('Twin media');
|
||||
|
||||
// Add to the unlimited cardinality field.
|
||||
$unlimited_button = $assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]');
|
||||
$unlimited_button->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// Assert that only type_one media items exist, since this field only
|
||||
// accepts items of that type.
|
||||
$assert_session->pageTextContains('Media library');
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextContains('Bear');
|
||||
$assert_session->pageTextNotContains('Turtle');
|
||||
// Ensure that the "Select all" checkbox is not visible.
|
||||
$this->assertFalse($assert_session->elementExists('css', '.media-library-select-all')->isVisible());
|
||||
// Use an exposed filter.
|
||||
$session = $this->getSession();
|
||||
$session->getPage()->fillField('Name', 'Dog');
|
||||
$session->getPage()->pressButton('Apply Filters');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextNotContains('Bear');
|
||||
// Clear the exposed filter.
|
||||
$session->getPage()->fillField('Name', '');
|
||||
$session->getPage()->pressButton('Apply Filters');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// Select the first three media items (should be Dog/Cat/Bear).
|
||||
$checkbox_selector = '.media-library-view .js-click-to-select-checkbox input';
|
||||
$checkboxes = $page->findAll('css', $checkbox_selector);
|
||||
$checkboxes[0]->click();
|
||||
$checkboxes[1]->click();
|
||||
$checkboxes[2]->click();
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Select media');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// Ensure that the selection completed successfully.
|
||||
$assert_session->pageTextNotContains('Media library');
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextContains('Cat');
|
||||
$assert_session->pageTextContains('Bear');
|
||||
// Remove "Dog" (happens to be the first remove button on the page).
|
||||
$assert_session->elementExists('css', '.media-library-item__remove')->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$assert_session->pageTextNotContains('Dog');
|
||||
$assert_session->pageTextContains('Cat');
|
||||
$assert_session->pageTextContains('Bear');
|
||||
|
||||
// Open another Media library on the same page.
|
||||
$twin_button = $assert_session->elementExists('css', '.media-library-open-button[href*="field_twin_media"]');
|
||||
$twin_button->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// This field allows both media types.
|
||||
$assert_session->pageTextContains('Media library');
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextContains('Turtle');
|
||||
// Attempt to select three items - the cardinality of this field is two so
|
||||
// the third selection should be disabled.
|
||||
$checkbox_selector = '.media-library-view .js-click-to-select-checkbox input';
|
||||
$checkboxes = $page->findAll('css', $checkbox_selector);
|
||||
$this->assertFalse($checkboxes[5]->hasAttribute('disabled'));
|
||||
$checkboxes[0]->click();
|
||||
$checkboxes[7]->click();
|
||||
$this->assertTrue($checkboxes[5]->hasAttribute('disabled'));
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Select media');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// Ensure that the selection completed successfully, and we have only two
|
||||
// media items of two different types.
|
||||
$assert_session->pageTextNotContains('Media library');
|
||||
$assert_session->pageTextContains('Horse');
|
||||
$assert_session->pageTextContains('Turtle');
|
||||
$assert_session->pageTextNotContains('Snake');
|
||||
|
||||
// Finally, save the form.
|
||||
$assert_session->elementExists('css', '.js-media-library-widget-toggle-weight')->click();
|
||||
$this->submitForm([
|
||||
'title[0][value]' => 'My page',
|
||||
'field_unlimited_media[selection][0][weight]' => '2',
|
||||
], 'Save');
|
||||
$assert_session->pageTextContains('Basic Page My page has been created');
|
||||
// We removed this item earlier.
|
||||
$assert_session->pageTextNotContains('Dog');
|
||||
// This item should not have been selected due to cardinality constraints.
|
||||
$assert_session->pageTextNotContains('Snake');
|
||||
// "Cat" should come after "Bear", since we changed the weight.
|
||||
$assert_session->elementExists('css', '.field--name-field-unlimited-media > .field__items > .field__item:last-child:contains("Cat")');
|
||||
// Make sure everything that was selected shows up.
|
||||
$assert_session->pageTextContains('Cat');
|
||||
$assert_session->pageTextContains('Bear');
|
||||
$assert_session->pageTextContains('Horse');
|
||||
$assert_session->pageTextContains('Turtle');
|
||||
|
||||
// Re-edit the content and make a new selection.
|
||||
$this->drupalGet('node/1/edit');
|
||||
$assert_session->pageTextNotContains('Dog');
|
||||
$assert_session->pageTextContains('Cat');
|
||||
$assert_session->pageTextContains('Bear');
|
||||
$assert_session->pageTextContains('Horse');
|
||||
$assert_session->pageTextContains('Turtle');
|
||||
$unlimited_button = $assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]');
|
||||
$unlimited_button->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$assert_session->pageTextContains('Media library');
|
||||
// Select the first media items (should be Dog, again).
|
||||
$checkbox_selector = '.media-library-view .js-click-to-select-checkbox input';
|
||||
$checkboxes = $page->findAll('css', $checkbox_selector);
|
||||
$checkboxes[0]->click();
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Select media');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// "Dog" and the existing selection should still exist.
|
||||
$assert_session->pageTextContains('Dog');
|
||||
$assert_session->pageTextContains('Cat');
|
||||
$assert_session->pageTextContains('Bear');
|
||||
$assert_session->pageTextContains('Horse');
|
||||
$assert_session->pageTextContains('Turtle');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the widget works as expected for anonymous users.
|
||||
*/
|
||||
public function testWidgetAnonymous() {
|
||||
$assert_session = $this->assertSession();
|
||||
|
||||
$this->drupalLogout();
|
||||
|
||||
$role = Role::load(RoleInterface::ANONYMOUS_ID);
|
||||
$role->revokePermission('view media');
|
||||
$role->save();
|
||||
|
||||
// Verify that unprivileged users can't access the widget view.
|
||||
$this->drupalGet('admin/content/media-widget');
|
||||
$assert_session->responseContains('Access denied');
|
||||
|
||||
// Allow the anonymous user to create pages and view media.
|
||||
$this->grantPermissions($role, [
|
||||
'access content',
|
||||
'create basic_page content',
|
||||
'view media',
|
||||
]);
|
||||
|
||||
// Ensure the widget works as an anonymous user.
|
||||
$this->drupalGet('node/add/basic_page');
|
||||
|
||||
// Add to the unlimited cardinality field.
|
||||
$unlimited_button = $assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]');
|
||||
$unlimited_button->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
// Select the first media item (should be Dog).
|
||||
$checkbox_selector = '.media-library-view .js-click-to-select-checkbox input';
|
||||
$checkboxes = $this->getSession()->getPage()->findAll('css', $checkbox_selector);
|
||||
$checkboxes[0]->click();
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Select media');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
// Ensure that the selection completed successfully.
|
||||
$assert_session->pageTextNotContains('Media library');
|
||||
$assert_session->pageTextContains('Dog');
|
||||
|
||||
// Save the form.
|
||||
$assert_session->elementExists('css', '.js-media-library-widget-toggle-weight')->click();
|
||||
$this->submitForm([
|
||||
'title[0][value]' => 'My page',
|
||||
'field_unlimited_media[selection][0][weight]' => '0',
|
||||
], 'Save');
|
||||
$assert_session->pageTextContains('Basic Page My page has been created');
|
||||
$assert_session->pageTextContains('Dog');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that uploads in the Media library's widget works as expected.
|
||||
*/
|
||||
public function testWidgetUpload() {
|
||||
$assert_session = $this->assertSession();
|
||||
$page = $this->getSession()->getPage();
|
||||
|
||||
foreach ($this->getTestFiles('image') as $image) {
|
||||
$extension = pathinfo($image->filename, PATHINFO_EXTENSION);
|
||||
if ($extension === 'png') {
|
||||
$png_image = $image;
|
||||
}
|
||||
elseif ($extension === 'jpg') {
|
||||
$jpg_image = $image;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($png_image) || !isset($jpg_image)) {
|
||||
$this->fail('Expected test files not present.');
|
||||
}
|
||||
|
||||
// Visit a node create page.
|
||||
$this->drupalGet('node/add/basic_page');
|
||||
|
||||
$file_storage = $this->container->get('entity_type.manager')->getStorage('file');
|
||||
/** @var \Drupal\Core\File\FileSystemInterface $file_system */
|
||||
$file_system = $this->container->get('file_system');
|
||||
|
||||
// Ensure that the add button is not present if no media can be created.
|
||||
$assert_session->elementNotExists('css', '.media-library-add-button[href*="field_noadd_media"]');
|
||||
|
||||
// Add to the twin media field using the add button directly on the widget.
|
||||
$twin_button = $assert_session->elementExists('css', '.media-library-add-button[href*="field_twin_media"]');
|
||||
$twin_button->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
$page->attachFileToField('Upload', $this->container->get('file_system')->realpath($png_image->uri));
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
// Files are temporary until the form is saved.
|
||||
$files = $file_storage->loadMultiple();
|
||||
$file = array_pop($files);
|
||||
$this->assertSame('public://type-three-dir', $file_system->dirname($file->getFileUri()));
|
||||
$this->assertTrue($file->isTemporary());
|
||||
|
||||
$this->assertSame($assert_session->fieldExists('Name')->getValue(), $png_image->filename);
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Save');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$assert_session->pageTextContains('Alternative text field is required');
|
||||
$page->fillField('Alternative text', $this->randomString());
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Save');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
// The file should be permanent now.
|
||||
$files = $file_storage->loadMultiple();
|
||||
$file = array_pop($files);
|
||||
$this->assertFalse($file->isTemporary());
|
||||
|
||||
// Ensure the media item was added.
|
||||
$assert_session->pageTextNotContains('Media library');
|
||||
$assert_session->pageTextContains($png_image->filename);
|
||||
|
||||
// Also make sure that we can upload to the unlimited cardinality field.
|
||||
$unlimited_button = $assert_session->elementExists('css', '.media-library-add-button[href*="field_unlimited_media"]');
|
||||
$unlimited_button->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
// Multiple uploads should be allowed.
|
||||
// @todo Add test when https://github.com/minkphp/Mink/issues/358 is closed
|
||||
$this->assertTrue($assert_session->fieldExists('Upload')->hasAttribute('multiple'));
|
||||
|
||||
$page->attachFileToField('Upload', $this->container->get('file_system')->realpath($png_image->uri));
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$page->fillField('Name', 'Unlimited Cardinality Image');
|
||||
$page->fillField('Alternative text', $this->randomString());
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Save');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
// Ensure the media item was added.
|
||||
$assert_session->pageTextNotContains('Media library');
|
||||
$assert_session->pageTextContains('Unlimited Cardinality Image');
|
||||
|
||||
// Open the browser again to test type resolution.
|
||||
$twin_button = $assert_session->elementExists('css', '.media-library-open-button[href*="field_twin_media"]');
|
||||
$twin_button->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
$assert_session->pageTextContains('Media library');
|
||||
$assert_session->elementExists('css', '#drupal-modal')->clickLink('Add media');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
$page->attachFileToField('Upload', $file_system->realpath($jpg_image->uri));
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
$assert_session->pageTextContains('Select a media type for ' . $jpg_image->filename);
|
||||
|
||||
// Before the type is determined, the file lives in the default upload
|
||||
// location (temporary://).
|
||||
$files = $file_storage->loadMultiple();
|
||||
$file = array_pop($files);
|
||||
$this->assertSame('temporary', $file_system->uriScheme($file->getFileUri()));
|
||||
|
||||
// Both the type_three and type_four media types accept jpg images.
|
||||
$assert_session->buttonExists('Type Three');
|
||||
$assert_session->buttonExists('Type Four')->click();
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
// The file should have been moved when the type was selected.
|
||||
$files = $file_storage->loadMultiple();
|
||||
$file = array_pop($files);
|
||||
$this->assertSame('public://type-four-dir', $file_system->dirname($file->getFileUri()));
|
||||
$this->assertSame($assert_session->fieldExists('Name')->getValue(), $jpg_image->filename);
|
||||
$page->fillField('Alternative text', $this->randomString());
|
||||
|
||||
// The type_four media type has another optional image field.
|
||||
$assert_session->pageTextContains('Extra Image');
|
||||
$page->attachFileToField('Extra Image', $this->container->get('file_system')->realpath($jpg_image->uri));
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
// Ensure that the extra image was uploaded to the correct directory.
|
||||
$files = $file_storage->loadMultiple();
|
||||
$file = array_pop($files);
|
||||
$this->assertSame('public://type-four-extra-dir', $file_system->dirname($file->getFileUri()));
|
||||
|
||||
$assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Save');
|
||||
$assert_session->assertWaitOnAjaxRequest();
|
||||
|
||||
$assert_session->pageTextNotContains('Media library');
|
||||
$assert_session->pageTextContains($jpg_image->filename);
|
||||
}
|
||||
|
||||
}
|
Reference in a new issue