28 $this->returnCallback([$this,
'createAssetGroup'])
30 $this->_object = new \Magento\Framework\View\Asset\GroupedCollection(
$factory);
31 $this->_asset = new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/magento/test.css');
32 $this->_object->add(
'asset', $this->_asset);
37 $this->_object =
null;
49 return new \Magento\Framework\View\Asset\PropertyGroup(
$arguments[
'properties']);
58 protected function _assertGroups(array $expectedGroups, array $actualGroupObjects)
60 $this->assertInternalType(
'array', $actualGroupObjects);
63 foreach ($actualGroupObjects as $actualGroup) {
64 $this->assertInstanceOf(\
Magento\Framework\View\
Asset\PropertyGroup::class, $actualGroup);
65 $actualGroups[] = [
'properties' => $actualGroup->getProperties(),
'assets' => $actualGroup->getAll()];
67 $this->assertEquals($expectedGroups, $actualGroups);
72 $assetNew = new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/magento/test_new.css');
73 $this->_object->add(
'asset_new', $assetNew, [
'test_property' =>
'test_value']);
74 $this->assertEquals([
'asset' => $this->_asset,
'asset_new' => $assetNew], $this->_object->getAll());
79 $this->_object->remove(
'asset');
80 $this->assertEquals([], $this->_object->getAll());
85 $cssAsset = new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/style.css',
'css');
86 $jsAsset = new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/script.js',
'js');
87 $jsAssetAllowingMerge = $this->getMockForAbstractClass(\
Magento\Framework\View\
Asset\MergeableInterface::class);
88 $jsAssetAllowingMerge->expects($this->any())->method(
'getContentType')->will($this->returnValue(
'js'));
91 $this->_object->add(
'css_asset_one', $cssAsset, [
'property' =>
'test_value']);
92 $this->_object->add(
'css_asset_two', $cssAsset, [
'property' =>
'test_value']);
95 $this->_object->add(
'css_asset_four', $cssAsset, [
'property' =>
'test_value2',
'junk1' =>
null]);
96 $this->_object->add(
'css_asset_five', $cssAsset, [
'property' =>
'test_value2',
'junk2' =>
'']);
99 $this->_object->add(
'css_asset_three', $cssAsset, [
'property' =>
'different_value']);
100 $this->_object->add(
'js_asset_one', $jsAsset, [
'property' =>
'test_value']);
103 $this->_object->add(
'js_asset_two', $jsAsset, [
'property1' =>
'value1',
'property2' =>
'value2']);
104 $this->_object->add(
'js_asset_three', $jsAsset, [
'property2' =>
'value2',
'property1' =>
'value1']);
107 $this->_object->add(
'asset_allowing_merge', $jsAssetAllowingMerge, [
'property' =>
'test_value']);
111 'properties' => [
'content_type' =>
'unknown',
'can_merge' =>
false],
115 'properties' => [
'property' =>
'test_value',
'content_type' =>
'css',
'can_merge' =>
false],
116 'assets' => [
'css_asset_one' => $cssAsset,
'css_asset_two' => $cssAsset]
119 'properties' => [
'property' =>
'test_value2',
'content_type' =>
'css',
'can_merge' =>
false],
120 'assets' => [
'css_asset_four' => $cssAsset,
'css_asset_five' => $cssAsset]
123 'properties' => [
'property' =>
'different_value',
'content_type' =>
'css',
'can_merge' =>
false],
124 'assets' => [
'css_asset_three' => $cssAsset]
127 'properties' => [
'property' =>
'test_value',
'content_type' =>
'js',
'can_merge' =>
false],
128 'assets' => [
'js_asset_one' => $jsAsset]
132 'property1' =>
'value1',
133 'property2' =>
'value2',
134 'content_type' =>
'js',
135 'can_merge' =>
false,
137 'assets' => [
'js_asset_two' => $jsAsset,
'js_asset_three' => $jsAsset]
140 'properties' => [
'property' =>
'test_value',
'content_type' =>
'js',
'can_merge' =>
true],
141 'assets' => [
'asset_allowing_merge' => $jsAssetAllowingMerge]
145 $this->_assertGroups($expectedGroups, $this->_object->getGroups());
createAssetGroup(array $arguments)