Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
cocoapods
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gengmeiios
cocoapods
Commits
cb2942f8
Commit
cb2942f8
authored
May 16, 2012
by
Fabio Pelosin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Specs] Adapting existing specs for recent changes.
parent
2426f95c
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
150 additions
and
130 deletions
+150
-130
spec_spec.rb
spec/functional/command/spec_spec.rb
+12
-6
integration_spec.rb
spec/integration_spec.rb
+1
-1
spec_spec.rb
spec/unit/command/spec_spec.rb
+4
-4
documentation_spec.rb
spec/unit/generator/documentation_spec.rb
+1
-4
local_pod_spec.rb
spec/unit/local_pod_spec.rb
+132
-115
No files found.
spec/functional/command/spec_spec.rb
View file @
cb2942f8
...
...
@@ -125,17 +125,23 @@ describe "Pod::Command::Spec#lint" do
end
end
before
do
text
=
(
fixture
(
'spec-repos'
)
+
'master/JSONKit/1.4/JSONKit.podspec'
).
read
text
.
gsub!
(
/.*license.*/
,
""
)
file
=
temporary_directory
+
'JSONKit.podspec'
File
.
open
(
file
,
'w'
)
{
|
f
|
f
.
write
(
text
)
}
@spec_path
=
file
.
to_s
end
it
"lints a givent podspec"
do
spec_file
=
fixture
(
'spec-repos'
)
+
'master/JSONKit/1.4/JSONKit.podspec'
cmd
=
command
(
'spec'
,
'lint'
,
'--quick'
,
spec_file
.
to_s
)
cmd
=
command
(
'spec'
,
'lint'
,
'--quick'
,
@spec_path
)
lambda
{
cmd
.
run
}.
should
.
raise
Pod
::
Informative
cmd
.
output
.
should
.
include
"Missing license
file or text
"
cmd
.
output
.
should
.
include
"Missing license
type
"
end
it
"respects the -only--errors option"
do
spec_file
=
fixture
(
'spec-repos'
)
+
'master/JSONKit/1.4/JSONKit.podspec'
cmd
=
command
(
'spec'
,
'lint'
,
'--quick'
,
'--only-errors'
,
spec_file
.
to_s
)
cmd
=
command
(
'spec'
,
'lint'
,
'--quick'
,
'--only-errors'
,
@spec_path
)
lambda
{
cmd
.
run
}.
should
.
not
.
raise
cmd
.
output
.
should
.
include
"Missing license
file or text
"
cmd
.
output
.
should
.
include
"Missing license
type
"
end
end
spec/integration_spec.rb
View file @
cb2942f8
...
...
@@ -155,7 +155,7 @@ else
end
end
Pod
::
Specification
.
any_instance
.
stubs
(
:
clean_paths
).
returns
([
'JSONKit/
CHANGELOG.md'
])
Pod
::
Specification
.
any_instance
.
stubs
(
:
preserve_paths
).
returns
([
'
CHANGELOG.md'
])
installer
=
SpecHelper
::
Installer
.
new
(
podfile
)
installer
.
install!
...
...
spec/unit/command/spec_spec.rb
View file @
cb2942f8
...
...
@@ -53,7 +53,7 @@ describe "Pod::Command::Spec::Linter" do
end
it
"fails validation if the specification contains warnings"
do
spec
,
file
=
write_podspec
(
stub_podspec
)
spec
,
file
=
write_podspec
(
stub_podspec
(
/.*license.*/
,
""
)
)
linter
=
Pod
::
Command
::
Spec
::
Linter
.
new
(
spec
)
linter
.
lenient
,
linter
.
quick
=
false
,
true
linter
.
lint
.
should
==
false
...
...
@@ -62,7 +62,7 @@ describe "Pod::Command::Spec::Linter" do
end
it
"validates in lenient mode if there are no erros but there are warnings"
do
spec
,
file
=
write_podspec
(
stub_podspec
)
spec
,
file
=
write_podspec
(
stub_podspec
(
/.*license.*/
,
""
)
)
linter
=
Pod
::
Command
::
Spec
::
Linter
.
new
(
spec
)
linter
.
lenient
,
linter
.
quick
=
true
,
true
linter
.
lint
.
should
==
true
...
...
@@ -87,7 +87,7 @@ describe "Pod::Command::Spec::Linter" do
linter
.
lenient
,
linter
.
quick
=
false
,
true
linter
.
lint
.
should
==
false
linter
.
errors
.
should
.
be
.
empty
linter
.
warnings
.
join
(
' | '
).
should
=~
/`config.ios\?' and `config.osx\?' are deprecated
and will be removed in version 0.7
/
linter
.
warnings
.
join
(
' | '
).
should
=~
/`config.ios\?' and `config.osx\?' are deprecated/
end
it
"uses xcodebuild to generate notes and warnings"
do
...
...
@@ -104,6 +104,6 @@ describe "Pod::Command::Spec::Linter" do
linter
.
stubs
(
:xcodebuild_output
).
returns
([])
linter
.
lenient
,
linter
.
quick
=
false
,
false
linter
.
lint
.
should
==
false
linter
.
errors
.
join
(
' | '
).
should
.
include
"
[resources = 'WRONG_FOLDER'] ->
did not match any file"
linter
.
errors
.
join
(
' | '
).
should
.
include
"
The resources
did not match any file"
end
end
spec/unit/generator/documentation_spec.rb
View file @
cb2942f8
...
...
@@ -19,10 +19,7 @@ describe Pod::Generator::Documentation do
end
it
'returns the Pod documentation documentation files'
do
@doc_installer
.
files
.
sort
.
should
==
[
(
@pod
.
root
+
"Classes/Banana.m"
).
to_s
,
(
@pod
.
root
+
"Classes/Banana.h"
).
to_s
,
].
sort
@doc_installer
.
files
.
sort
.
should
==
%w[ Classes/Banana.m Classes/Banana.h ]
.
sort
end
it
'returns the Pod documentation options'
do
...
...
spec/unit/local_pod_spec.rb
View file @
cb2942f8
...
...
@@ -3,174 +3,191 @@ require File.expand_path('../../spec_helper', __FILE__)
describe
Pod
::
LocalPod
do
# a LocalPod represents a local copy of the dependency, inside the pod root, built from a spec
describe
"in general"
do
before
do
@sandbox
=
temporary_sandbox
@pod
=
Pod
::
LocalPod
.
new
(
fixture_spec
(
'banana-lib/BananaLib.podspec'
),
@sandbox
,
Pod
::
Platform
.
new
(
:ios
))
copy_fixture_to_pod
(
'banana-lib'
,
@pod
)
end
before
do
@sandbox
=
temporary_sandbox
@pod
=
Pod
::
LocalPod
.
new
(
fixture_spec
(
'banana-lib/BananaLib.podspec'
),
@sandbox
,
Pod
::
Platform
.
new
(
:ios
))
copy_fixture_to_pod
(
'banana-lib'
,
@pod
)
end
it
'returns the Pod root directory path'
do
@pod
.
root
.
should
==
@sandbox
.
root
+
'BananaLib'
end
it
'returns the Pod root directory path'
do
@pod
.
root
.
should
==
@sandbox
.
root
+
'BananaLib'
end
it
"creates it's own root directory if it doesn't exist"
do
@pod
.
create
File
.
directory?
(
@pod
.
root
).
should
.
be
.
true
end
it
"creates it's own root directory if it doesn't exist"
do
@pod
.
create
File
.
directory?
(
@pod
.
root
).
should
.
be
.
true
end
it
"can execute a block within the context of it's root"
do
@pod
.
chdir
{
FileUtils
.
touch
(
"foo"
)
}
Pathname
(
@pod
.
root
+
"foo"
).
should
.
exist
end
it
"can execute a block within the context of it's root"
do
@pod
.
chdir
{
FileUtils
.
touch
(
"foo"
)
}
Pathname
(
@pod
.
root
+
"foo"
).
should
.
exist
end
it
'can delete itself'
do
@pod
.
create
@pod
.
implode
@pod
.
root
.
should
.
not
.
exist
end
it
'can delete itself'
do
@pod
.
create
@pod
.
implode
@pod
.
root
.
should
.
not
.
exist
end
it
'returns an expanded list of source files, relative to the sandbox root'
do
@pod
.
source_files
.
sort
.
should
==
[
Pathname
.
new
(
"BananaLib/Classes/Banana.m"
),
Pathname
.
new
(
"BananaLib/Classes/Banana.h"
)
].
sort
end
it
'returns an expanded list of source files, relative to the sandbox root'
do
@pod
.
source_files
.
sort
.
should
==
[
Pathname
.
new
(
"BananaLib/Classes/Banana.m"
),
Pathname
.
new
(
"BananaLib/Classes/Banana.h"
)
].
sort
end
xit
'returns an expanded list of absolute clean paths'
do
@pod
.
clean_paths
.
should
==
[
@sandbox
.
root
+
"BananaLib/sub-dir"
]
end
it
'returns an expanded list of absolute clean paths'
do
#TODO: there are some temporary files that prevent a complete check
@pod
.
clean_paths
.
map
{
|
p
|
p
.
relative_path_from
(
@sandbox
.
root
).
to_s
}.
should
.
include
'BananaLib/sub-dir/sub-dir-2/somefile.txt'
end
it
'returns an expanded list of resources, relative to the sandbox root'
do
@pod
.
resources
.
should
==
[
Pathname
.
new
(
"BananaLib/Resources/logo-sidebar.png"
)]
end
it
'returns an expanded list of resources, relative to the sandbox root'
do
@pod
.
resources
.
should
==
[
Pathname
.
new
(
"BananaLib/Resources/logo-sidebar.png"
)]
end
it
'returns a list of header files'
do
@pod
.
header_files
.
should
==
[
Pathname
.
new
(
"BananaLib/Classes/Banana.h"
)]
end
it
'returns a list of header files'
do
@pod
.
header_files
.
should
==
[
Pathname
.
new
(
"BananaLib/Classes/Banana.h"
)]
end
xit
'can clean up after itself'
do
@pod
.
clean_paths
.
tap
do
|
paths
|
xit
'can clean up after itself'
do
@pod
.
clean
paths
.
each
do
|
path
|
path
.
should
.
not
.
exist
@pod
.
clean_paths
.
tap
do
|
paths
|
paths
.
each
do
|
path
|
path
.
should
.
not
.
exist
end
end
end
end
it
"can link it's headers into the sandbox"
do
@pod
.
link_headers
expected_header_path
=
@sandbox
.
headers_root
+
"BananaLib/Banana.h"
expected_header_path
.
should
.
be
.
symlink
File
.
read
(
expected_header_path
).
should
==
(
@sandbox
.
root
+
@pod
.
header_files
[
0
]).
read
end
it
"can link it's headers into the sandbox"
do
@pod
.
link_headers
expected_header_path
=
@sandbox
.
headers_root
+
"BananaLib/Banana.h"
expected_header_path
.
should
.
be
.
symlink
File
.
read
(
expected_header_path
).
should
==
(
@sandbox
.
root
+
@pod
.
header_files
[
0
]).
read
end
it
"can add it's source files to an Xcode project target"
do
target
=
mock
(
'target'
)
target
.
expects
(
:add_source_file
).
with
(
Pathname
.
new
(
"BananaLib/Classes/Banana.m"
),
anything
,
anything
)
@pod
.
add_to_target
(
target
)
end
it
"can add it's source files to an Xcode project target"
do
target
=
mock
(
'target'
)
target
.
expects
(
:add_source_file
).
with
(
Pathname
.
new
(
"BananaLib/Classes/Banana.h"
),
anything
,
anything
)
target
.
expects
(
:add_source_file
).
with
(
Pathname
.
new
(
"BananaLib/Classes/Banana.m"
),
anything
,
anything
)
@pod
.
add_to_target
(
target
)
end
it
"can add it's source files to a target with any specially configured compiler flags"
do
@pod
.
top_specification
.
compiler_flags
=
'-d some_flag'
target
=
mock
(
'target'
)
target
.
expects
(
:add_source_file
).
with
(
anything
,
anything
,
"-d some_flag"
)
@pod
.
add_to_target
(
target
)
it
"can add it's source files to a target with any specially configured compiler flags"
do
@pod
.
top_specification
.
compiler_flags
=
'-d some_flag'
target
=
mock
(
'target'
)
target
.
expects
(
:add_source_file
).
twice
.
with
(
anything
,
anything
,
"-d some_flag"
)
@pod
.
add_to_target
(
target
)
end
end
end
describe
"A Pod::LocalPod,
with installed source,"
do
#before do
describe
"
with installed source,"
do
#before do
#config.project_pods_root = fixture('integration')
#podspec = fixture('spec-repos/master/SSZipArchive/0.1.0/SSZipArchive.podspec')
#@spec = Pod::Specification.from_file(podspec)
#@destroot = fixture('integration/SSZipArchive')
#end
#end
#after do
#after do
#config.project_pods_root = nil
#end
#end
xit
"returns the list of files that the source_files pattern expand to"
do
files
=
@destroot
.
glob
(
'**/*.{h,c,m}'
)
files
=
files
.
map
{
|
file
|
file
.
relative_path_from
(
config
.
project_pods_root
)
}
@spec
.
expanded_source_files
[
:ios
].
sort
.
should
==
files
.
sort
end
xit
"returns the list of files that the source_files pattern expand to"
do
files
=
@destroot
.
glob
(
'**/*.{h,c,m}'
)
files
=
files
.
map
{
|
file
|
file
.
relative_path_from
(
config
.
project_pods_root
)
}
@spec
.
expanded_source_files
[
:ios
].
sort
.
should
==
files
.
sort
end
xit
"returns the list of headers"
do
files
=
@destroot
.
glob
(
'**/*.h'
)
files
=
files
.
map
{
|
file
|
file
.
relative_path_from
(
config
.
project_pods_root
)
}
@spec
.
header_files
[
:ios
].
sort
.
should
==
files
.
sort
end
xit
"returns the list of headers"
do
files
=
@destroot
.
glob
(
'**/*.h'
)
files
=
files
.
map
{
|
file
|
file
.
relative_path_from
(
config
.
project_pods_root
)
}
@spec
.
header_files
[
:ios
].
sort
.
should
==
files
.
sort
end
xit
"returns a hash of mappings from the pod's destroot to its header dirs, which by default is just the pod's header dir"
do
@spec
.
copy_header_mappings
[
:ios
].
size
.
should
==
1
@spec
.
copy_header_mappings
[
:ios
][
Pathname
.
new
(
'SSZipArchive'
)].
sort
.
should
==
%w{
xit
"returns a hash of mappings from the pod's destroot to its header dirs, which by default is just the pod's header dir"
do
@spec
.
copy_header_mappings
[
:ios
].
size
.
should
==
1
@spec
.
copy_header_mappings
[
:ios
][
Pathname
.
new
(
'SSZipArchive'
)].
sort
.
should
==
%w{
SSZipArchive.h
minizip/crypt.h
minizip/ioapi.h
minizip/mztools.h
minizip/unzip.h
minizip/zip.h
}
.
map
{
|
f
|
Pathname
.
new
(
"SSZipArchive/
#{
f
}
"
)
}.
sort
end
xit
"allows for customization of header mappings by overriding copy_header_mapping"
do
def
@spec
.
copy_header_mapping
(
from
)
Pathname
.
new
(
'ns'
)
+
from
.
basename
}
.
map
{
|
f
|
Pathname
.
new
(
"SSZipArchive/
#{
f
}
"
)
}.
sort
end
@spec
.
copy_header_mappings
[
:ios
].
size
.
should
==
1
@spec
.
copy_header_mappings
[
:ios
][
Pathname
.
new
(
'SSZipArchive/ns'
)].
sort
.
should
==
%w{
xit
"allows for customization of header mappings by overriding copy_header_mapping"
do
def
@spec
.
copy_header_mapping
(
from
)
Pathname
.
new
(
'ns'
)
+
from
.
basename
end
@spec
.
copy_header_mappings
[
:ios
].
size
.
should
==
1
@spec
.
copy_header_mappings
[
:ios
][
Pathname
.
new
(
'SSZipArchive/ns'
)].
sort
.
should
==
%w{
SSZipArchive.h
minizip/crypt.h
minizip/ioapi.h
minizip/mztools.h
minizip/unzip.h
minizip/zip.h
}
.
map
{
|
f
|
Pathname
.
new
(
"SSZipArchive/
#{
f
}
"
)
}.
sort
end
}
.
map
{
|
f
|
Pathname
.
new
(
"SSZipArchive/
#{
f
}
"
)
}.
sort
end
xit
"returns a hash of mappings with a custom header dir prefix"
do
@spec
.
header_dir
=
'AnotherRoot'
@spec
.
copy_header_mappings
[
:ios
][
Pathname
.
new
(
'AnotherRoot'
)].
sort
.
should
==
%w{
xit
"returns a hash of mappings with a custom header dir prefix"
do
@spec
.
header_dir
=
'AnotherRoot'
@spec
.
copy_header_mappings
[
:ios
][
Pathname
.
new
(
'AnotherRoot'
)].
sort
.
should
==
%w{
SSZipArchive.h
minizip/crypt.h
minizip/ioapi.h
minizip/mztools.h
minizip/unzip.h
minizip/zip.h
}
.
map
{
|
f
|
Pathname
.
new
(
"SSZipArchive/
#{
f
}
"
)
}.
sort
end
xit
"returns the user header search paths"
do
def
@spec
.
copy_header_mapping
(
from
)
Pathname
.
new
(
'ns'
)
+
from
.
basename
}
.
map
{
|
f
|
Pathname
.
new
(
"SSZipArchive/
#{
f
}
"
)
}.
sort
end
@spec
.
header_search_paths
.
should
==
%w{
xit
"returns the user header search paths"
do
def
@spec
.
copy_header_mapping
(
from
)
Pathname
.
new
(
'ns'
)
+
from
.
basename
end
@spec
.
header_search_paths
.
should
==
%w{
"$(PODS_ROOT)/Headers/SSZipArchive"
"$(PODS_ROOT)/Headers/SSZipArchive/ns"
}
end
xit
"returns the user header search paths with a custom header dir prefix"
do
@spec
.
header_dir
=
'AnotherRoot'
def
@spec
.
copy_header_mapping
(
from
)
Pathname
.
new
(
'ns'
)
+
from
.
basename
}
end
@spec
.
header_search_paths
.
should
==
%w{
xit
"returns the user header search paths with a custom header dir prefix"
do
@spec
.
header_dir
=
'AnotherRoot'
def
@spec
.
copy_header_mapping
(
from
)
Pathname
.
new
(
'ns'
)
+
from
.
basename
end
@spec
.
header_search_paths
.
should
==
%w{
"$(PODS_ROOT)/Headers/AnotherRoot"
"$(PODS_ROOT)/Headers/AnotherRoot/ns"
}
}
end
xit
"returns the list of files that the resources pattern expand to"
do
@spec
.
expanded_resources
.
should
==
{}
@spec
.
resource
=
'LICEN*'
@spec
.
expanded_resources
[
:ios
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE }
@spec
.
expanded_resources
[
:osx
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE }
@spec
.
resources
=
'LICEN*'
,
'Readme.*'
@spec
.
expanded_resources
[
:ios
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE SSZipArchive/Readme.markdown }
@spec
.
expanded_resources
[
:osx
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE SSZipArchive/Readme.markdown }
end
end
xit
"returns the list of files that the resources pattern expand to"
do
@spec
.
expanded_resources
.
should
==
{}
@spec
.
resource
=
'LICEN*'
@spec
.
expanded_resources
[
:ios
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE }
@spec
.
expanded_resources
[
:osx
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE }
@spec
.
resources
=
'LICEN*'
,
'Readme.*'
@spec
.
expanded_resources
[
:ios
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE SSZipArchive/Readme.markdown }
@spec
.
expanded_resources
[
:osx
].
map
(
&
:to_s
).
should
==
%w{ SSZipArchive/LICENSE SSZipArchive/Readme.markdown }
describe
"with installed source from multiple subspecs"
do
xit
"returns the source files of the activated specs"
xit
"returns the resources of the activated specs"
xit
"can provide the source files of all the subspecs"
do
pod
.
all_specs_source_files
.
should
==
%w[]
end
xit
"can provide the source files of all the subspecs"
do
sources
=
@pod
.
all_specs_source_files
.
map
{
|
p
|
p
.
relative_path_from
(
@sandbox
.
root
).
to_s
}
sources
.
should
==
%w[ BananaLib/Classes/Banana.h BananaLib/Classes/Banana.m ]
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment