xcpretty 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ module XCPretty
6
6
 
7
7
  it "gets the snippet out of the file path" do
8
8
  path = File.expand_path('spec/fixtures/NSStringTests.m:36')
9
- Snippet.from_filepath(path).should ==
9
+ Snippet.from_filepath(path).contents.should ==
10
10
  <<-EOS
11
11
  it(@"-split: splits with delimiter string, not just a char", ^{
12
12
  [[[@"one / two / three" split:@" / "] should] equal:@[@"one", @"two", @"three"]];
@@ -14,24 +14,31 @@ module XCPretty
14
14
  EOS
15
15
  end
16
16
 
17
+ it 'saves the file path' do
18
+ path = File.expand_path('spec/fixtures/NSStringTests.m:36')
19
+ Snippet.from_filepath(path).file_path.should == path
20
+ end
21
+
17
22
  it "doesn't crash when there's nothing to read" do
18
23
  path = File.expand_path('spec/fixtures/NSStringTests.m:64')
19
- Snippet.from_filepath(path).should == "\nSPEC_END\n"
24
+ Snippet.from_filepath(path).contents.should == "\nSPEC_END\n"
20
25
  end
21
26
 
22
27
  it "doesn't crash if file path is invalid" do
23
28
  path = 'invalid-path'
24
- Snippet.from_filepath(path).should == ''
29
+ Snippet.from_filepath(path).contents.should == ''
25
30
  end
26
31
 
27
32
  it "doesn't crash if a failure is on the first line" do
28
33
  path = File.expand_path('spec/fixtures/NSStringTests.m:0')
29
- Snippet.from_filepath(path).should == "//\n// NSStringTests.m\n// SampleProject\n"
34
+ Snippet.from_filepath(path).contents.should ==
35
+ "//\n// NSStringTests.m\n// SampleProject\n"
30
36
  end
31
37
 
32
38
  it "doesn't crash if the file has only 1 line" do
33
39
  path = File.expand_path('spec/fixtures/oneliner.m:0')
34
- Snippet.from_filepath(path).should == "[[[@1 should] equal] @3];\n"
40
+ Snippet.from_filepath(path).contents.should ==
41
+ "[[[@1 should] equal] @3];\n"
35
42
  end
36
43
 
37
44
  end
@@ -4,29 +4,57 @@ module XCPretty
4
4
 
5
5
  describe Syntax do
6
6
 
7
- before(:each) do
8
- Syntax.instance_variable_set(:@available, nil)
9
- end
7
+ let(:snippet) { Snippet.new('self.color = [UIColor redColor];', 'test.m') }
8
+ let(:code) { snippet.contents }
10
9
 
11
10
  it "caches the pygments availability" do
12
- Syntax.should_receive(:system).once.and_return(false)
13
- 4.times { Syntax.highlight('meh') }
11
+ Pygments.should_receive(:system).once.and_return(false)
12
+ 4.times { Syntax.highlight(Snippet.new('meh')) }
14
13
  end
15
14
 
16
15
  context "pygments are installed" do
17
16
 
18
- it "highlights code" do
19
- Syntax.stub(:system).and_return(true)
20
- Syntax.highlight('int a = 5;').should include("\e[36mint\e[39;49;00m")
17
+ before(:each) do
18
+ Pygments.stub(:available?).and_return(true)
19
+ end
20
+
21
+ it 'supports highlighting with options' do
22
+ Pygments.should_receive(:pygmentize).with(code, 'objc', '-f html')
23
+ Syntax.highlight(snippet, '-f html')
24
+ end
25
+
26
+ it 'highlights objective-c code by filename' do
27
+ Pygments.should_receive(:pygmentize).with(code, 'objc', '')
28
+ Syntax.highlight(snippet)
21
29
  end
22
30
 
31
+ it 'highlights objective-c code by default' do
32
+ Pygments.should_receive(:pygmentize).with(code, 'objc', '')
33
+ Syntax.highlight(Snippet.new(code))
34
+ end
35
+
36
+ it 'highlights other languages by filename' do
37
+ test_language 'swift', '.swift'
38
+ test_language 'c++', '.cc', '.cpp', '.hpp', '.c++', '.cxx'
39
+ test_language 'objc++', '.mm', '.hh'
40
+ test_language 'objc', '.m', '.h'
41
+ test_language 'dylan', '.dyl'
42
+ test_language 'ruby', '.rb', '.ruby'
43
+ end
44
+
45
+ def test_language(language, *extensions)
46
+ extensions.each do |extension|
47
+ Pygments.should_receive(:pygmentize).with(code, language, '')
48
+ Syntax.highlight(Snippet.new(code, "file#{extension}"))
49
+ end
50
+ end
23
51
  end
24
52
 
25
53
  context "pygments are not installed" do
26
54
 
27
55
  it "prints plain code" do
28
56
  Syntax.stub(:system).and_return(false)
29
- Syntax.highlight('int a = 5;').should == 'int a = 5;'
57
+ Syntax.highlight(snippet).should == 'self.color = [UIColor redColor];'
30
58
  end
31
59
 
32
60
  end
@@ -361,4 +361,4 @@ module JSON
361
361
  end
362
362
  end
363
363
  end
364
- end
364
+ end
data/xcpretty.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "xcpretty"
8
8
  spec.version = XCPretty::VERSION
9
9
  spec.authors = ["Marin Usalj", "Delisa Mason"]
10
- spec.email = ["mneorr@gmail.com", "iskanamagus@gmail.com"]
10
+ spec.email = ["marin2211@gmail.com", "iskanamagus@gmail.com"]
11
11
  spec.required_ruby_version = '>= 1.8.7'
12
12
  spec.description =
13
13
  %q{
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  and it can also mine Bitcoins.
19
19
  }
20
20
  spec.summary = %q{xcodebuild formatter done right}
21
- spec.homepage = "https://github.com/mneorr/xcpretty"
21
+ spec.homepage = "https://github.com/supermarin/xcpretty"
22
22
  spec.license = "MIT"
23
23
 
24
24
  spec.files = `git ls-files`.split($/)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcpretty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marin Usalj
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-26 00:00:00.000000000 Z
12
+ date: 2015-03-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -71,7 +71,7 @@ description: "\n Xcodebuild formatter designed to be piped with `xcodebuild`,\n
71
71
  thus keeping 100% compatibility.\n\n It has modes for CI, running tests (RSpec
72
72
  dot-style),\n and it can also mine Bitcoins.\n "
73
73
  email:
74
- - mneorr@gmail.com
74
+ - marin2211@gmail.com
75
75
  - iskanamagus@gmail.com
76
76
  executables:
77
77
  - xcpretty
@@ -79,6 +79,7 @@ extensions: []
79
79
  extra_rdoc_files: []
80
80
  files:
81
81
  - ".gitignore"
82
+ - ".hound.yml"
82
83
  - ".kick"
83
84
  - ".travis.yml"
84
85
  - CHANGELOG.md
@@ -145,7 +146,7 @@ files:
145
146
  - vendor/json_pure/generator.rb
146
147
  - vendor/json_pure/parser.rb
147
148
  - xcpretty.gemspec
148
- homepage: https://github.com/mneorr/xcpretty
149
+ homepage: https://github.com/supermarin/xcpretty
149
150
  licenses:
150
151
  - MIT
151
152
  metadata: {}