ffprober 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +2 -2
- data/Changes.md +6 -0
- data/README.md +1 -1
- data/Rakefile +1 -0
- data/ffprober.gemspec +20 -18
- data/lib/ffprober/ffprobe_version.rb +1 -1
- data/lib/ffprober/parser.rb +7 -1
- data/lib/ffprober/subtitle_stream.rb +4 -0
- data/lib/ffprober/version.rb +1 -1
- data/lib/ffprober.rb +1 -0
- metadata +24 -50
- data/spec/assets/301 extracting a ruby gem.m4v +0 -0
- data/spec/assets/empty_file +0 -0
- data/spec/assets/sample video.json +0 -177
- data/spec/assets/sample video.m4v +0 -0
- data/spec/assets/version_outputs/linux-nightly +0 -3
- data/spec/assets/version_outputs/osx-1_0 +0 -11
- data/spec/assets/version_outputs/osx-1_2_0 +0 -11
- data/spec/assets/version_outputs/osx-2_0 +0 -12
- data/spec/assets/version_outputs/osx-2_0_1 +0 -12
- data/spec/assets/version_outputs/osx-2_1_2 +0 -11
- data/spec/assets/version_outputs/osx-2_1_4 +0 -11
- data/spec/assets/version_outputs/osx-2_2 +0 -11
- data/spec/assets/version_outputs/osx-2_2_2 +0 -16
- data/spec/assets/version_outputs/osx-2_3_2 +0 -12
- data/spec/assets/version_outputs/raspian-0_8_6 +0 -10
- data/spec/assets/version_outputs/ubuntu-0_10_6 +0 -11
- data/spec/assets/version_outputs/windows-nightly +0 -2
- data/spec/ffprober/ffprobe_version_spec.rb +0 -58
- data/spec/ffprober/parser_spec.rb +0 -93
- data/spec/ffprober_spec.rb +0 -23
- data/spec/spec_helper.rb +0 -63
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd7fc350d7f9f66cbb25c6cb55a1e90bf24ce8ff
|
4
|
+
data.tar.gz: 7d2acb4d7951acdfc115c7122aa62748af67b70a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5150066eddd207d94b2ca21e3c30f7255863deabf923d2229015e786763adbedddfc32901c5ed135e14fd2cdb3a001a7cc2ccd06de7db5f3f672cf6911f9526d
|
7
|
+
data.tar.gz: 5f30d8e762965ca83827dd792a87741d76899abe9864a14154315b841dc5d0ea0b357fb5d95d79e88d28cdda225bc61735081d66067b842a6d3822f760f44dfb
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1
|
1
|
+
2.2.1
|
data/.travis.yml
CHANGED
data/Changes.md
CHANGED
data/README.md
CHANGED
@@ -43,7 +43,7 @@ help me collecting various version outputs of fprobe/ffmpeg
|
|
43
43
|
|
44
44
|
## Supported Rubies
|
45
45
|
|
46
|
-
Ffprober is tested under
|
46
|
+
Ffprober is tested under 2.0, 2.1, JRuby (head) and Rubinius and ruby-head.
|
47
47
|
|
48
48
|
[![Build Status](https://secure.travis-ci.org/beanieboi/ffprober.png?branch=master)](http://travis-ci.org/beanieboi/ffprober)
|
49
49
|
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/ffprober.gemspec
CHANGED
@@ -1,24 +1,26 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "ffprober/version"
|
3
5
|
|
4
|
-
Gem::Specification.new do |
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
gem.homepage = "https://github.com/beanieboi/ffprober"
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "ffprober"
|
8
|
+
spec.version = Ffprober::VERSION
|
9
|
+
spec.authors = ["beanieboi"]
|
10
|
+
spec.email = ["beanie@benle.de"]
|
10
11
|
|
11
|
-
|
12
|
-
|
12
|
+
spec.description = %q{a Ruby wrapper for ffprobe}
|
13
|
+
spec.summary = %q{a Ruby wrapper for ffprobe (part of ffmpeg)}
|
14
|
+
spec.homepage = "https://github.com/beanieboi/ffprober"
|
15
|
+
spec.license = "MIT"
|
13
16
|
|
14
|
-
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
+
spec.bindir = "exe"
|
19
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
+
spec.require_paths = ["lib"]
|
15
21
|
|
16
|
-
|
22
|
+
spec.required_ruby_version = '~> 2.0'
|
17
23
|
|
18
|
-
|
19
|
-
|
20
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
21
|
-
gem.name = "ffprober"
|
22
|
-
gem.require_paths = ["lib"]
|
23
|
-
gem.version = Ffprober::VERSION
|
24
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
24
26
|
end
|
data/lib/ffprober/parser.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
|
1
3
|
module Ffprober
|
2
4
|
class Parser
|
3
5
|
def self.from_file(file_to_parse)
|
@@ -10,7 +12,7 @@ module Ffprober
|
|
10
12
|
fail ArgumentError.new("File not found #{file_to_parse}")
|
11
13
|
end
|
12
14
|
|
13
|
-
json_output = `#{Ffprober.path} #{options}
|
15
|
+
json_output = `#{Ffprober.path} #{options} #{Shellwords.escape(file_to_parse)}`
|
14
16
|
from_json(json_output)
|
15
17
|
end
|
16
18
|
|
@@ -37,6 +39,10 @@ module Ffprober
|
|
37
39
|
@audio_streams ||= stream_by_codec('audio').map { |stream| Ffprober::AudioStream.new(stream) }
|
38
40
|
end
|
39
41
|
|
42
|
+
def subtitle_streams
|
43
|
+
@subtitle_streams ||= stream_by_codec('subtitle').map { |stream| Ffprober::SubtitleStream.new(stream) }
|
44
|
+
end
|
45
|
+
|
40
46
|
def chapters
|
41
47
|
@chapters ||= @json[:chapters].map { |chapter| Ffprober::Chapter.new(chapter) }
|
42
48
|
end
|
data/lib/ffprober/version.rb
CHANGED
data/lib/ffprober.rb
CHANGED
@@ -5,6 +5,7 @@ require_relative 'ffprober/format'
|
|
5
5
|
require_relative 'ffprober/stream'
|
6
6
|
require_relative 'ffprober/audio_stream'
|
7
7
|
require_relative 'ffprober/video_stream'
|
8
|
+
require_relative 'ffprober/subtitle_stream'
|
8
9
|
require_relative 'ffprober/chapter'
|
9
10
|
require_relative 'ffprober/ffprobe_version'
|
10
11
|
require 'json'
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffprober
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- beanieboi
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '10.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '10.0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rspec
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,6 +54,7 @@ files:
|
|
40
54
|
- Gemfile
|
41
55
|
- LICENSE
|
42
56
|
- README.md
|
57
|
+
- Rakefile
|
43
58
|
- ffprober.gemspec
|
44
59
|
- lib/ffprober.rb
|
45
60
|
- lib/ffprober/audio_stream.rb
|
@@ -49,29 +64,9 @@ files:
|
|
49
64
|
- lib/ffprober/format.rb
|
50
65
|
- lib/ffprober/parser.rb
|
51
66
|
- lib/ffprober/stream.rb
|
67
|
+
- lib/ffprober/subtitle_stream.rb
|
52
68
|
- lib/ffprober/version.rb
|
53
69
|
- lib/ffprober/video_stream.rb
|
54
|
-
- spec/assets/301 extracting a ruby gem.m4v
|
55
|
-
- spec/assets/empty_file
|
56
|
-
- spec/assets/sample video.json
|
57
|
-
- spec/assets/sample video.m4v
|
58
|
-
- spec/assets/version_outputs/linux-nightly
|
59
|
-
- spec/assets/version_outputs/osx-1_0
|
60
|
-
- spec/assets/version_outputs/osx-1_2_0
|
61
|
-
- spec/assets/version_outputs/osx-2_0
|
62
|
-
- spec/assets/version_outputs/osx-2_0_1
|
63
|
-
- spec/assets/version_outputs/osx-2_1_2
|
64
|
-
- spec/assets/version_outputs/osx-2_1_4
|
65
|
-
- spec/assets/version_outputs/osx-2_2
|
66
|
-
- spec/assets/version_outputs/osx-2_2_2
|
67
|
-
- spec/assets/version_outputs/osx-2_3_2
|
68
|
-
- spec/assets/version_outputs/raspian-0_8_6
|
69
|
-
- spec/assets/version_outputs/ubuntu-0_10_6
|
70
|
-
- spec/assets/version_outputs/windows-nightly
|
71
|
-
- spec/ffprober/ffprobe_version_spec.rb
|
72
|
-
- spec/ffprober/parser_spec.rb
|
73
|
-
- spec/ffprober_spec.rb
|
74
|
-
- spec/spec_helper.rb
|
75
70
|
homepage: https://github.com/beanieboi/ffprober
|
76
71
|
licenses:
|
77
72
|
- MIT
|
@@ -82,39 +77,18 @@ require_paths:
|
|
82
77
|
- lib
|
83
78
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
79
|
requirements:
|
85
|
-
- - "
|
80
|
+
- - "~>"
|
86
81
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
82
|
+
version: '2.0'
|
88
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
84
|
requirements:
|
90
85
|
- - ">="
|
91
86
|
- !ruby/object:Gem::Version
|
92
87
|
version: '0'
|
93
88
|
requirements: []
|
94
|
-
rubyforge_project:
|
95
|
-
rubygems_version: 2.
|
89
|
+
rubyforge_project:
|
90
|
+
rubygems_version: 2.4.5
|
96
91
|
signing_key:
|
97
92
|
specification_version: 4
|
98
93
|
summary: a Ruby wrapper for ffprobe (part of ffmpeg)
|
99
|
-
test_files:
|
100
|
-
- spec/assets/301 extracting a ruby gem.m4v
|
101
|
-
- spec/assets/empty_file
|
102
|
-
- spec/assets/sample video.json
|
103
|
-
- spec/assets/sample video.m4v
|
104
|
-
- spec/assets/version_outputs/linux-nightly
|
105
|
-
- spec/assets/version_outputs/osx-1_0
|
106
|
-
- spec/assets/version_outputs/osx-1_2_0
|
107
|
-
- spec/assets/version_outputs/osx-2_0
|
108
|
-
- spec/assets/version_outputs/osx-2_0_1
|
109
|
-
- spec/assets/version_outputs/osx-2_1_2
|
110
|
-
- spec/assets/version_outputs/osx-2_1_4
|
111
|
-
- spec/assets/version_outputs/osx-2_2
|
112
|
-
- spec/assets/version_outputs/osx-2_2_2
|
113
|
-
- spec/assets/version_outputs/osx-2_3_2
|
114
|
-
- spec/assets/version_outputs/raspian-0_8_6
|
115
|
-
- spec/assets/version_outputs/ubuntu-0_10_6
|
116
|
-
- spec/assets/version_outputs/windows-nightly
|
117
|
-
- spec/ffprober/ffprobe_version_spec.rb
|
118
|
-
- spec/ffprober/parser_spec.rb
|
119
|
-
- spec/ffprober_spec.rb
|
120
|
-
- spec/spec_helper.rb
|
94
|
+
test_files: []
|
Binary file
|
data/spec/assets/empty_file
DELETED
File without changes
|
@@ -1,177 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"streams": [
|
3
|
-
{
|
4
|
-
"index": 0,
|
5
|
-
"codec_name": "aac",
|
6
|
-
"codec_long_name": "AAC (Advanced Audio Coding)",
|
7
|
-
"codec_type": "audio",
|
8
|
-
"codec_time_base": "1/44100",
|
9
|
-
"codec_tag_string": "mp4a",
|
10
|
-
"codec_tag": "0x6134706d",
|
11
|
-
"sample_fmt": "fltp",
|
12
|
-
"sample_rate": "44100",
|
13
|
-
"channels": 2,
|
14
|
-
"channel_layout": "stereo",
|
15
|
-
"bits_per_sample": 0,
|
16
|
-
"r_frame_rate": "0/0",
|
17
|
-
"avg_frame_rate": "0/0",
|
18
|
-
"time_base": "1/44100",
|
19
|
-
"start_pts": 0,
|
20
|
-
"start_time": "0.000000",
|
21
|
-
"duration_ts": 7168,
|
22
|
-
"duration": "0.162540",
|
23
|
-
"bit_rate": "73582",
|
24
|
-
"nb_frames": "7",
|
25
|
-
"disposition": {
|
26
|
-
"default": 1,
|
27
|
-
"dub": 0,
|
28
|
-
"original": 0,
|
29
|
-
"comment": 0,
|
30
|
-
"lyrics": 0,
|
31
|
-
"karaoke": 0,
|
32
|
-
"forced": 0,
|
33
|
-
"hearing_impaired": 0,
|
34
|
-
"visual_impaired": 0,
|
35
|
-
"clean_effects": 0,
|
36
|
-
"attached_pic": 0
|
37
|
-
},
|
38
|
-
"tags": {
|
39
|
-
"creation_time": "2013-12-28 21:17:44",
|
40
|
-
"language": "und",
|
41
|
-
"handler_name": "Core Media Audio"
|
42
|
-
}
|
43
|
-
},
|
44
|
-
{
|
45
|
-
"index": 1,
|
46
|
-
"codec_name": "h264",
|
47
|
-
"codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
|
48
|
-
"profile": "Constrained Baseline",
|
49
|
-
"codec_type": "video",
|
50
|
-
"codec_time_base": "1/5000",
|
51
|
-
"codec_tag_string": "avc1",
|
52
|
-
"codec_tag": "0x31637661",
|
53
|
-
"width": 480,
|
54
|
-
"height": 272,
|
55
|
-
"has_b_frames": 0,
|
56
|
-
"sample_aspect_ratio": "0:1",
|
57
|
-
"display_aspect_ratio": "0:1",
|
58
|
-
"pix_fmt": "yuv420p",
|
59
|
-
"level": 21,
|
60
|
-
"r_frame_rate": "25/1",
|
61
|
-
"avg_frame_rate": "25/1",
|
62
|
-
"time_base": "1/2500",
|
63
|
-
"start_pts": 0,
|
64
|
-
"start_time": "0.000000",
|
65
|
-
"duration_ts": 300,
|
66
|
-
"duration": "0.120000",
|
67
|
-
"bit_rate": "79066",
|
68
|
-
"nb_frames": "3",
|
69
|
-
"disposition": {
|
70
|
-
"default": 1,
|
71
|
-
"dub": 0,
|
72
|
-
"original": 0,
|
73
|
-
"comment": 0,
|
74
|
-
"lyrics": 0,
|
75
|
-
"karaoke": 0,
|
76
|
-
"forced": 0,
|
77
|
-
"hearing_impaired": 0,
|
78
|
-
"visual_impaired": 0,
|
79
|
-
"clean_effects": 0,
|
80
|
-
"attached_pic": 0
|
81
|
-
},
|
82
|
-
"tags": {
|
83
|
-
"creation_time": "2013-12-28 21:17:44",
|
84
|
-
"language": "und",
|
85
|
-
"handler_name": "Core Media Video"
|
86
|
-
}
|
87
|
-
},
|
88
|
-
{
|
89
|
-
"index": 2,
|
90
|
-
"codec_name": "mov_text",
|
91
|
-
"codec_long_name": "3GPP Timed Text subtitle",
|
92
|
-
"codec_type": "subtitle",
|
93
|
-
"codec_time_base": "1/1000",
|
94
|
-
"codec_tag_string": "text",
|
95
|
-
"codec_tag": "0x74786574",
|
96
|
-
"r_frame_rate": "0/0",
|
97
|
-
"avg_frame_rate": "0/0",
|
98
|
-
"time_base": "1/1000",
|
99
|
-
"start_pts": 0,
|
100
|
-
"start_time": "0.000000",
|
101
|
-
"duration_ts": 98,
|
102
|
-
"duration": "0.098000",
|
103
|
-
"bit_rate": "5690",
|
104
|
-
"nb_frames": "3",
|
105
|
-
"disposition": {
|
106
|
-
"default": 0,
|
107
|
-
"dub": 0,
|
108
|
-
"original": 0,
|
109
|
-
"comment": 0,
|
110
|
-
"lyrics": 0,
|
111
|
-
"karaoke": 0,
|
112
|
-
"forced": 0,
|
113
|
-
"hearing_impaired": 0,
|
114
|
-
"visual_impaired": 0,
|
115
|
-
"clean_effects": 0,
|
116
|
-
"attached_pic": 0
|
117
|
-
},
|
118
|
-
"tags": {
|
119
|
-
"creation_time": "2013-12-28 21:28:08",
|
120
|
-
"language": "eng"
|
121
|
-
}
|
122
|
-
}
|
123
|
-
],
|
124
|
-
"chapters": [
|
125
|
-
{
|
126
|
-
"id": 0,
|
127
|
-
"time_base": "1/1000",
|
128
|
-
"start": 0,
|
129
|
-
"start_time": "0.000000",
|
130
|
-
"end": 10,
|
131
|
-
"end_time": "0.010000",
|
132
|
-
"tags": {
|
133
|
-
"title": "Chapter 1"
|
134
|
-
}
|
135
|
-
},
|
136
|
-
{
|
137
|
-
"id": 1,
|
138
|
-
"time_base": "1/1000",
|
139
|
-
"start": 10,
|
140
|
-
"start_time": "0.010000",
|
141
|
-
"end": 20,
|
142
|
-
"end_time": "0.020000",
|
143
|
-
"tags": {
|
144
|
-
"title": "Chapter 2"
|
145
|
-
}
|
146
|
-
},
|
147
|
-
{
|
148
|
-
"id": 2,
|
149
|
-
"time_base": "1/1000",
|
150
|
-
"start": 20,
|
151
|
-
"start_time": "0.020000",
|
152
|
-
"end": 97,
|
153
|
-
"end_time": "0.097000",
|
154
|
-
"tags": {
|
155
|
-
"title": "Chapter 3"
|
156
|
-
}
|
157
|
-
}
|
158
|
-
],
|
159
|
-
"format": {
|
160
|
-
"filename": "spec/assets/sample video.m4v",
|
161
|
-
"nb_streams": 3,
|
162
|
-
"nb_programs": 0,
|
163
|
-
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
|
164
|
-
"format_long_name": "QuickTime / MOV",
|
165
|
-
"start_time": "0.000000",
|
166
|
-
"duration": "0.097600",
|
167
|
-
"size": "4611",
|
168
|
-
"bit_rate": "377950",
|
169
|
-
"probe_score": 100,
|
170
|
-
"tags": {
|
171
|
-
"major_brand": "M4V ",
|
172
|
-
"minor_version": "1",
|
173
|
-
"compatible_brands": "M4V M4A mp42isom",
|
174
|
-
"creation_time": "2013-12-28 21:17:44"
|
175
|
-
}
|
176
|
-
}
|
177
|
-
}
|
Binary file
|
@@ -1,11 +0,0 @@
|
|
1
|
-
ffprobe version 1.0
|
2
|
-
built on May 18 2013 15:54:36 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
|
3
|
-
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
|
4
|
-
libavutil 52. 18.100 / 52. 18.100
|
5
|
-
libavcodec 54. 92.100 / 54. 92.100
|
6
|
-
libavformat 54. 63.104 / 54. 63.104
|
7
|
-
libavdevice 54. 3.103 / 54. 3.103
|
8
|
-
libavfilter 3. 42.103 / 3. 42.103
|
9
|
-
libswscale 2. 2.100 / 2. 2.100
|
10
|
-
libswresample 0. 17.102 / 0. 17.102
|
11
|
-
libpostproc 52. 2.100 / 52. 2.100
|
@@ -1,11 +0,0 @@
|
|
1
|
-
ffprobe version 1.2.0
|
2
|
-
built on May 18 2013 15:54:36 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
|
3
|
-
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
|
4
|
-
libavutil 52. 18.100 / 52. 18.100
|
5
|
-
libavcodec 54. 92.100 / 54. 92.100
|
6
|
-
libavformat 54. 63.104 / 54. 63.104
|
7
|
-
libavdevice 54. 3.103 / 54. 3.103
|
8
|
-
libavfilter 3. 42.103 / 3. 42.103
|
9
|
-
libswscale 2. 2.100 / 2. 2.100
|
10
|
-
libswresample 0. 17.102 / 0. 17.102
|
11
|
-
libpostproc 52. 2.100 / 52. 2.100
|
@@ -1,12 +0,0 @@
|
|
1
|
-
ffprobe version 2.0
|
2
|
-
built on Jul 12 2013 11:15:38 with gcc 4.2.1 (GCC) (Apple Inc. build 5666) (dot 3)
|
3
|
-
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.0 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=/usr/bin/gcc-4.2 --host-cflags='-Os -w -pipe -march=core2 -msse4.1 -mmacosx-version-min=10.6' --host-ldflags=-L/usr/local/lib --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc
|
4
|
-
libavutil 52. 38.100 / 52. 38.100
|
5
|
-
libavcodec 55. 18.102 / 55. 18.102
|
6
|
-
libavformat 55. 12.100 / 55. 12.100
|
7
|
-
libavdevice 55. 3.100 / 55. 3.100
|
8
|
-
libavfilter 3. 79.101 / 3. 79.101
|
9
|
-
libavresample 1. 1. 0 / 1. 1. 0
|
10
|
-
libswscale 2. 3.100 / 2. 3.100
|
11
|
-
libswresample 0. 17.102 / 0. 17.102
|
12
|
-
libpostproc 52. 3.100 / 52. 3.100
|
@@ -1,12 +0,0 @@
|
|
1
|
-
ffprobe version 2.0.1
|
2
|
-
built on Aug 15 2013 15:56:26 with gcc 4.2.1 (GCC) (Apple Inc. build 5666) (dot 3)
|
3
|
-
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.0.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc
|
4
|
-
libavutil 52. 38.100 / 52. 38.100
|
5
|
-
libavcodec 55. 18.102 / 55. 18.102
|
6
|
-
libavformat 55. 12.100 / 55. 12.100
|
7
|
-
libavdevice 55. 3.100 / 55. 3.100
|
8
|
-
libavfilter 3. 79.101 / 3. 79.101
|
9
|
-
libavresample 1. 1. 0 / 1. 1. 0
|
10
|
-
libswscale 2. 3.100 / 2. 3.100
|
11
|
-
libswresample 0. 17.102 / 0. 17.102
|
12
|
-
libpostproc 52. 3.100 / 52. 3.100
|
@@ -1,11 +0,0 @@
|
|
1
|
-
ffprobe version 2.1.2-tessus
|
2
|
-
built on Jan 13 2014 18:27:44 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
|
3
|
-
configuration: --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --enable-runtime-cpudetect
|
4
|
-
libavutil 52. 48.101 / 52. 48.101
|
5
|
-
libavcodec 55. 39.101 / 55. 39.101
|
6
|
-
libavformat 55. 19.104 / 55. 19.104
|
7
|
-
libavdevice 55. 5.100 / 55. 5.100
|
8
|
-
libavfilter 3. 90.100 / 3. 90.100
|
9
|
-
libswscale 2. 5.101 / 2. 5.101
|
10
|
-
libswresample 0. 17.104 / 0. 17.104
|
11
|
-
libpostproc 52. 3.100 / 52. 3.100
|
@@ -1,11 +0,0 @@
|
|
1
|
-
ffprobe version 2.1.4-tessus
|
2
|
-
built on Feb 23 2014 19:51:22 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
|
3
|
-
configuration: --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --enable-runtime-cpudetect
|
4
|
-
libavutil 52. 48.101 / 52. 48.101
|
5
|
-
libavcodec 55. 39.101 / 55. 39.101
|
6
|
-
libavformat 55. 19.104 / 55. 19.104
|
7
|
-
libavdevice 55. 5.100 / 55. 5.100
|
8
|
-
libavfilter 3. 90.100 / 3. 90.100
|
9
|
-
libswscale 2. 5.101 / 2. 5.101
|
10
|
-
libswresample 0. 17.104 / 0. 17.104
|
11
|
-
libpostproc 52. 3.100 / 52. 3.100
|
@@ -1,11 +0,0 @@
|
|
1
|
-
ffprobe version 2.2-tessus
|
2
|
-
built on Mar 24 2014 22:25:11 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
|
3
|
-
configuration: --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --enable-runtime-cpudetect
|
4
|
-
libavutil 52. 66.100 / 52. 66.100
|
5
|
-
libavcodec 55. 52.102 / 55. 52.102
|
6
|
-
libavformat 55. 33.100 / 55. 33.100
|
7
|
-
libavdevice 55. 10.100 / 55. 10.100
|
8
|
-
libavfilter 4. 2.100 / 4. 2.100
|
9
|
-
libswscale 2. 5.102 / 2. 5.102
|
10
|
-
libswresample 0. 18.100 / 0. 18.100
|
11
|
-
libpostproc 52. 3.100 / 52. 3.100
|
@@ -1,16 +0,0 @@
|
|
1
|
-
ffprobe version 2.2.2-tessus Copyright (c) 2007-2014 the FFmpeg developers
|
2
|
-
built on May 7 2014 23:17:42 with clang version 3.3 (tags/RELEASE_33/final)
|
3
|
-
configuration: --cc=/opt/local/bin/clang-mp-3.3 --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --disable-indev=qtkit --enable-runtime-cpudetect
|
4
|
-
libavutil 52. 66.100 / 52. 66.100
|
5
|
-
libavcodec 55. 52.102 / 55. 52.102
|
6
|
-
libavformat 55. 33.100 / 55. 33.100
|
7
|
-
libavdevice 55. 10.100 / 55. 10.100
|
8
|
-
libavfilter 4. 2.100 / 4. 2.100
|
9
|
-
libswscale 2. 5.102 / 2. 5.102
|
10
|
-
libswresample 0. 18.100 / 0. 18.100
|
11
|
-
libpostproc 52. 3.100 / 52. 3.100
|
12
|
-
Simple multimedia streams analyzer
|
13
|
-
usage: ffprobe [OPTIONS] [INPUT_FILE]
|
14
|
-
|
15
|
-
You have to specify one input file.
|
16
|
-
Use -h to get full help or, even better, run 'man ffprobe'.
|
@@ -1,12 +0,0 @@
|
|
1
|
-
ffprobe version 2.3.2 Copyright (c) 2007-2014 the FFmpeg developers
|
2
|
-
built on Aug 22 2014 12:11:42 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
|
3
|
-
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.3.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
|
4
|
-
libavutil 52. 92.100 / 52. 92.100
|
5
|
-
libavcodec 55. 69.100 / 55. 69.100
|
6
|
-
libavformat 55. 48.100 / 55. 48.100
|
7
|
-
libavdevice 55. 13.102 / 55. 13.102
|
8
|
-
libavfilter 4. 11.100 / 4. 11.100
|
9
|
-
libavresample 1. 3. 0 / 1. 3. 0
|
10
|
-
libswscale 2. 6.100 / 2. 6.100
|
11
|
-
libswresample 0. 19.100 / 0. 19.100
|
12
|
-
libpostproc 52. 3.100 / 52. 3.100
|
@@ -1,10 +0,0 @@
|
|
1
|
-
avprobe version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2007-2013 the Libav developers
|
2
|
-
built on Mar 31 2013 13:58:10 with gcc 4.6.3
|
3
|
-
avprobe 0.8.6-6:0.8.6-1+rpi1
|
4
|
-
libavutil 51. 22. 1 / 51. 22. 1
|
5
|
-
libavcodec 53. 35. 0 / 53. 35. 0
|
6
|
-
libavformat 53. 21. 1 / 53. 21. 1
|
7
|
-
libavdevice 53. 2. 0 / 53. 2. 0
|
8
|
-
libavfilter 2. 15. 0 / 2. 15. 0
|
9
|
-
libswscale 2. 1. 0 / 2. 1. 0
|
10
|
-
libpostproc 52. 0. 0 / 52. 0. 0
|
@@ -1,11 +0,0 @@
|
|
1
|
-
ffprobe version 0.10.6-6:0.10.6-0ubuntu0jon1
|
2
|
-
built on Nov 12 2012 12:53:40 with gcc 4.7.2
|
3
|
-
configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.10.6-0ubuntu0jon1' --libdir=/usr/lib/x86_64-linux-gnu --disable-stripping --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
|
4
|
-
libavutil 51. 35.100 / 51. 35.100
|
5
|
-
libavcodec 53. 61.100 / 53. 61.100
|
6
|
-
libavformat 53. 32.100 / 53. 32.100
|
7
|
-
libavdevice 53. 4.100 / 53. 4.100
|
8
|
-
libavfilter 2. 61.100 / 2. 61.100
|
9
|
-
libswscale 2. 1.100 / 2. 1.100
|
10
|
-
libswresample 0. 6.100 / 0. 6.100
|
11
|
-
libpostproc 52. 0.100 / 52. 0.100
|
@@ -1,58 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
describe Ffprober::FfprobeVersion do
|
5
|
-
VERSION_CHECKS = [
|
6
|
-
{ version: '0.9.0', pass: true },
|
7
|
-
{ version: '1.0.0', pass: true },
|
8
|
-
{ version: '1.1.0', pass: true },
|
9
|
-
{ version: '2.9.0', pass: false },
|
10
|
-
{ version: '1.2.1', pass: true },
|
11
|
-
{ version: '2.0', pass: true },
|
12
|
-
{ version: '2.0.1', pass: true },
|
13
|
-
{ version: '2.0.2', pass: true },
|
14
|
-
{ version: '2.1.1', pass: true },
|
15
|
-
{ version: '2.1.2', pass: true },
|
16
|
-
{ version: '2.1.4', pass: true },
|
17
|
-
{ version: '2.2', pass: true },
|
18
|
-
{ version: '2.2.2', pass: true }
|
19
|
-
]
|
20
|
-
|
21
|
-
subject(:ffprobe_version) { Ffprober::FfprobeVersion.new }
|
22
|
-
|
23
|
-
context 'validates the ffprobe version' do
|
24
|
-
VERSION_CHECKS.each do |check|
|
25
|
-
it "detects version #{check[:version]}" do
|
26
|
-
allow(ffprobe_version).to receive(:version).and_return(Gem::Version.new(check[:version]))
|
27
|
-
expect(ffprobe_version.valid?).to be(check[:pass])
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe 'detects the version of ffprobe' do
|
33
|
-
Dir.new('spec/assets/version_outputs').each do |entry|
|
34
|
-
next if ['.', '..', '.DS_Store'].include?(entry)
|
35
|
-
os, expected_version = entry.split('-')
|
36
|
-
|
37
|
-
it "on #{os} from #{expected_version}" do
|
38
|
-
version_output = File.read('spec/assets/version_outputs/' + entry)
|
39
|
-
|
40
|
-
allow(ffprobe_version).to receive(:ffprobe_version_output).and_return(version_output)
|
41
|
-
|
42
|
-
if expected_version == 'nightly'
|
43
|
-
expect(ffprobe_version.nightly?).to eq(true)
|
44
|
-
expect(ffprobe_version.valid?).to eq(true)
|
45
|
-
else
|
46
|
-
expect(ffprobe_version.version).to eq(Gem::Version.new(expected_version.gsub('_', '.')))
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
it 'should not be valid if no ffprobe could be found in PATH' do
|
52
|
-
allow(Ffprober).to receive(:path).and_return(nil)
|
53
|
-
expect(ffprobe_version.version.to_s).to eq('0.0.0')
|
54
|
-
expect(Ffprober::FfprobeVersion.valid?).to eq(false)
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
58
|
-
end
|
@@ -1,93 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
def shared_specs
|
5
|
-
describe 'format' do
|
6
|
-
it 'should determine the correct filename' do
|
7
|
-
expect(ffprobe.format.filename).to eq('spec/assets/sample video.m4v')
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'should find the correct size' do
|
11
|
-
expect(ffprobe.format.size).to eq('4611')
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'should find the correct bit_rate' do
|
15
|
-
expect(ffprobe.format.bit_rate).to eq('377950')
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe 'audio_streams' do
|
20
|
-
it 'should determine the correct number of audio streams' do
|
21
|
-
expect(ffprobe.audio_streams.count).to eq(1)
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'should determine the correct sample rate of the first audio stream' do
|
25
|
-
expect(ffprobe.audio_streams.first.sample_rate).to eq('44100')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe 'video_streams' do
|
30
|
-
it 'should determine the correct width of the first video streams' do
|
31
|
-
expect(ffprobe.video_streams.first.width).to eq(480)
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'should determine the correct width of the first video streams' do
|
35
|
-
expect(ffprobe.video_streams.first.height).to eq(272)
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'should determine the correct number of video streams' do
|
39
|
-
expect(ffprobe.video_streams.count).to eq(1)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe 'chapters' do
|
44
|
-
it 'should contain the chapters' do
|
45
|
-
expect(ffprobe.chapters.count).to eq(3)
|
46
|
-
end
|
47
|
-
|
48
|
-
describe 'chapter' do
|
49
|
-
subject(:chapter) { ffprobe.chapters.first }
|
50
|
-
|
51
|
-
it 'should contain id' do expect(chapter.id).to eq(0) end
|
52
|
-
it 'should contain time_base' do expect(chapter.time_base).to eq('1/1000') end
|
53
|
-
it 'should contain start' do expect(chapter.start).to eq(0) end
|
54
|
-
it 'should contain start_time' do expect(chapter.start_time).to eq('0.000000') end
|
55
|
-
it 'should contain end' do expect(chapter.end).to eq(10) end
|
56
|
-
it 'should contain end_time' do expect(chapter.end_time).to eq('0.010000') end
|
57
|
-
it 'should contain tags' do expect(chapter.tags).to eq(title: 'Chapter 1') end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
describe Ffprober::Parser do
|
63
|
-
|
64
|
-
context 'from_file', if: Ffprober::FfprobeVersion.valid? do
|
65
|
-
let(:ffprobe) { Ffprober::Parser.from_file('spec/assets/sample video.m4v') }
|
66
|
-
|
67
|
-
shared_specs
|
68
|
-
end
|
69
|
-
|
70
|
-
context 'from_json' do
|
71
|
-
let(:ffprobe) { Ffprober::Parser.from_json(File.read('spec/assets/sample video.json')) }
|
72
|
-
|
73
|
-
shared_specs
|
74
|
-
end
|
75
|
-
|
76
|
-
context 'from invalid file', if: Ffprober::FfprobeVersion.valid? do
|
77
|
-
let(:ffprobe) { Ffprober::Parser.from_file('spec/assets/empty_file') }
|
78
|
-
|
79
|
-
describe 'format' do
|
80
|
-
it 'should determine the correct filename' do
|
81
|
-
expect { ffprobe.format.filename }.to raise_error
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'should find the correct size' do
|
85
|
-
expect { ffprobe.format.size }.to raise_error
|
86
|
-
end
|
87
|
-
|
88
|
-
it 'should find the correct bit_rate' do
|
89
|
-
expect { ffprobe.format.bit_rate }.to raise_error
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
data/spec/ffprober_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
describe Ffprober do
|
5
|
-
|
6
|
-
describe 'if no ffprobe is found' do
|
7
|
-
it 'should raise a exception if there is no ffmpeg' do
|
8
|
-
allow(Ffprober).to receive(:path).and_return('nonexistant')
|
9
|
-
|
10
|
-
expect do
|
11
|
-
Ffprober::Parser.from_file('spec/assets/301-extracting_a_ruby_gem.m4v')
|
12
|
-
end.to raise_error
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should raise a exception if there is no valid ffmpeg' do
|
16
|
-
allow(Ffprober::FfprobeVersion).to receive(:valid?).and_return(false)
|
17
|
-
|
18
|
-
expect do
|
19
|
-
Ffprober::Parser.from_file('spec/assets/301-extracting_a_ruby_gem.m4v')
|
20
|
-
end.to raise_error(ArgumentError)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
require 'codeclimate-test-reporter'
|
2
|
-
CodeClimate::TestReporter.start
|
3
|
-
require 'ffprober'
|
4
|
-
|
5
|
-
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
6
|
-
RSpec.configure do |config|
|
7
|
-
# These two settings work together to allow you to limit a spec run
|
8
|
-
# to individual examples or groups you care about by tagging them with
|
9
|
-
# `:focus` metadata. When nothing is tagged with `:focus`, all examples
|
10
|
-
# get run.
|
11
|
-
config.filter_run :focus
|
12
|
-
config.run_all_when_everything_filtered = true
|
13
|
-
|
14
|
-
# Many RSpec users commonly either run the entire suite or an individual
|
15
|
-
# file, and it's useful to allow more verbose output when running an
|
16
|
-
# individual spec file.
|
17
|
-
if config.files_to_run.one?
|
18
|
-
# Use the documentation formatter for detailed output,
|
19
|
-
# unless a formatter has already been configured
|
20
|
-
# (e.g. via a command-line flag).
|
21
|
-
config.default_formatter = 'doc'
|
22
|
-
end
|
23
|
-
|
24
|
-
# Print the 10 slowest examples and example groups at the
|
25
|
-
# end of the spec run, to help surface which specs are running
|
26
|
-
# particularly slow.
|
27
|
-
config.profile_examples = 10
|
28
|
-
|
29
|
-
# Run specs in random order to surface order dependencies. If you find an
|
30
|
-
# order dependency and want to debug it, you can fix the order by providing
|
31
|
-
# the seed, which is printed after each run.
|
32
|
-
# --seed 1234
|
33
|
-
config.order = :random
|
34
|
-
|
35
|
-
# Seed global randomization in this process using the `--seed` CLI option.
|
36
|
-
# Setting this allows you to use `--seed` to deterministically reproduce
|
37
|
-
# test failures related to randomization by passing the same `--seed` value
|
38
|
-
# as the one that triggered the failure.
|
39
|
-
Kernel.srand config.seed
|
40
|
-
|
41
|
-
# rspec-expectations config goes here. You can use an alternate
|
42
|
-
# assertion/expectation library such as wrong or the stdlib/minitest
|
43
|
-
# assertions if you prefer.
|
44
|
-
config.expect_with :rspec do |expectations|
|
45
|
-
# Enable only the newer, non-monkey-patching expect syntax.
|
46
|
-
# For more details, see:
|
47
|
-
# - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
|
48
|
-
expectations.syntax = :expect
|
49
|
-
end
|
50
|
-
|
51
|
-
# rspec-mocks config goes here. You can use an alternate test double
|
52
|
-
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
53
|
-
config.mock_with :rspec do |mocks|
|
54
|
-
# Enable only the newer, non-monkey-patching expect syntax.
|
55
|
-
# For more details, see:
|
56
|
-
# - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
|
57
|
-
mocks.syntax = :expect
|
58
|
-
|
59
|
-
# Prevents you from mocking or stubbing a method that does not exist on
|
60
|
-
# a real object. This is generally recommended.
|
61
|
-
mocks.verify_partial_doubles = true
|
62
|
-
end
|
63
|
-
end
|