1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
require 'spec_helper'
RSpec.describe "drupal" do
context "when the project's dependencies require php-gd e.g. in the case of Drupal" do
# composer.json from https://raw.githubusercontent.com/drupal/recommended-project/8.8.x/composer.json
let(:composer_json_content) do
fixture_file_content('drupal_composer.json')
end
# composer.lock from https://raw.githubusercontent.com/drupal/recommended-project/8.8.x/composer.lock
let(:composer_lock_content) do
fixture_file_content('drupal_composer.lock')
end
it 'installs the required dependencies and produces a valid report' do
runner.add_file('composer.json', composer_json_content)
runner.add_file('composer.lock', composer_lock_content)
report = runner.scan
expect(report).to match_schema(version: '2.0')
expect(report[:version]).not_to be_empty
expect(report[:licenses]).not_to be_empty
expect(report[:dependencies].map { |x| x[:name] }).to match_array([
'asm89/stack-cors',
'behat/mink',
'behat/mink-browserkit-driver',
'behat/mink-goutte-driver',
'behat/mink-selenium2-driver',
'composer/ca-bundle',
'composer/composer',
'composer/installers',
'composer/semver',
'composer/spdx-licenses',
'composer/xdebug-handler',
'doctrine/annotations',
'doctrine/cache',
'doctrine/collections',
'doctrine/common',
'doctrine/inflector',
'doctrine/instantiator',
'doctrine/lexer',
'drupal/coder',
'drupal/core-composer-scaffold',
'drupal/core-dev',
'drupal/core-project-message',
'drupal/core-recommended',
'easyrdf/easyrdf',
'egulias/email-validator',
'fabpot/goutte',
'guzzlehttp/guzzle',
'guzzlehttp/promises',
'guzzlehttp/psr7',
'instaclick/php-webdriver',
'jcalderonzumba/gastonjs',
'jcalderonzumba/mink-phantomjs-driver',
'justinrainbow/json-schema',
'masterminds/html5',
'mikey179/vfsstream',
'myclabs/deep-copy',
'paragonie/random_compat',
'pear/archive_tar',
'pear/console_getopt',
'pear/pear-core-minimal',
'pear/pear_exception',
'phar-io/manifest',
'phar-io/version',
'phpdocumentor/reflection-common',
'phpdocumentor/reflection-docblock',
'phpdocumentor/type-resolver',
'phpspec/prophecy',
'phpunit/php-code-coverage',
'phpunit/php-file-iterator',
'phpunit/php-text-template',
'phpunit/php-timer',
'phpunit/php-token-stream',
'phpunit/phpunit',
'phpunit/phpunit-mock-objects',
'psr/container',
'psr/http-message',
'psr/log',
'ralouphie/getallheaders',
'sebastian/code-unit-reverse-lookup',
'sebastian/comparator',
'sebastian/diff',
'sebastian/environment',
'sebastian/exporter',
'sebastian/global-state',
'sebastian/object-enumerator',
'sebastian/object-reflector',
'sebastian/recursion-context',
'sebastian/resource-operations',
'sebastian/version',
'seld/jsonlint',
'seld/phar-utils',
'squizlabs/php_codesniffer',
'stack/builder',
'symfony-cmf/routing',
'symfony/browser-kit',
'symfony/class-loader',
'symfony/console',
'symfony/css-selector',
'symfony/debug',
'symfony/dependency-injection',
'symfony/dom-crawler',
'symfony/event-dispatcher',
'symfony/filesystem',
'symfony/finder',
'symfony/http-foundation',
'symfony/http-kernel',
'symfony/lock',
'symfony/phpunit-bridge',
'symfony/polyfill-ctype',
'symfony/polyfill-iconv',
'symfony/polyfill-mbstring',
'symfony/polyfill-php56',
'symfony/polyfill-php70',
'symfony/polyfill-util',
'symfony/process',
'symfony/psr-http-message-bridge',
'symfony/routing',
'symfony/serializer',
'symfony/translation',
'symfony/validator',
'symfony/yaml',
'theseer/tokenizer',
'twig/twig',
'typo3/phar-stream-wrapper',
'webmozart/assert',
'zendframework/zend-diactoros',
'zendframework/zend-escaper',
'zendframework/zend-feed',
'zendframework/zend-stdlib'
])
end
end
end
|