crayon 0.0.1 → 0.0.5
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.
- data/.document +3 -4
- data/.gitignore +0 -10
- data/Gemfile +3 -0
- data/README.md +69 -0
- data/Rakefile +16 -46
- data/VERSION +1 -1
- data/lib/crayon.rb +80 -47
- data/spec/crayon_spec.rb +101 -0
- data/spec/helper.rb +8 -0
- data/spec/spec.opts +2 -0
- metadata +13 -34
- data/README.rdoc +0 -45
- data/test/helper.rb +0 -7
- data/test/test_crayon.rb +0 -27
data/.document
CHANGED
data/.gitignore
CHANGED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# crayon
|
2
|
+
|
3
|
+
### current version : 0.0.3
|
4
|
+
|
5
|
+
[http://github.com/mikowitz/crayon][github]
|
6
|
+
|
7
|
+
## Description
|
8
|
+
|
9
|
+
A simple, flexible gem that provides an open-ended API to print colored and styled output to the terminal.
|
10
|
+
|
11
|
+
## Installation
|
12
|
+
|
13
|
+
Install the gemcutter gem
|
14
|
+
|
15
|
+
~$ gem install gemcutter
|
16
|
+
|
17
|
+
Add gemcutter.org to your gem remote sources
|
18
|
+
|
19
|
+
~$ gem tumble
|
20
|
+
|
21
|
+
Download and install this gem
|
22
|
+
|
23
|
+
~$ gem install crayon
|
24
|
+
|
25
|
+
## Usage examples
|
26
|
+
|
27
|
+
To include this gem in a project
|
28
|
+
|
29
|
+
require 'crayon'
|
30
|
+
|
31
|
+
The following are all methods that `Crayon` understands, and should give you an idea of what is possible.
|
32
|
+
|
33
|
+
Crayon.blue("this will be printed as blue text")
|
34
|
+
Crayon.on_red("this will be printed on a red background")
|
35
|
+
Crayon.bold("this will be bold")
|
36
|
+
Crayon.underline_blue_on_yellow("this will be underlined blue text on a yellow background")
|
37
|
+
|
38
|
+
`Crayon` also provides intermediary methods `puts` and `print` which determine whether `Crayon` adds a newline to the end of the text being displayed.
|
39
|
+
By default, a newline is added.
|
40
|
+
|
41
|
+
Crayon.puts.blue("this is on a line by itself.")
|
42
|
+
Crayon.print.blue("the next line will be printed right next to this")
|
43
|
+
Crayon.puts.green("this will on the second line of output, but will create a newline.")
|
44
|
+
|
45
|
+
`puts` and `print` set an internal, persistent variable, so a specified newline presence or absence will last until `puts` or `print` is invoked again.
|
46
|
+
|
47
|
+
Crayon.print.blue("on the first line")
|
48
|
+
Crayon.green("also on the first line")
|
49
|
+
Crayon.red("also on the first line")
|
50
|
+
Crayon.puts.cyan("Also on the first line, but with a trailing newline")
|
51
|
+
Crayon.blue("On the second line by itself.")
|
52
|
+
|
53
|
+
## Flexibility
|
54
|
+
|
55
|
+
The order of elements in the method name is unimportant. For example
|
56
|
+
|
57
|
+
Color.bold_underline_blue_on_yellow("sample text")
|
58
|
+
|
59
|
+
will look the same as
|
60
|
+
|
61
|
+
Color.on_yellow_bold_blue_underline("sample text")
|
62
|
+
|
63
|
+
Check out `test/proof.rb` and `~$ rake proof` if you don't believe me.
|
64
|
+
|
65
|
+
## Copyright
|
66
|
+
|
67
|
+
Copyright (c) 2010 Michael Berkowitz. See LICENSE for details.
|
68
|
+
|
69
|
+
[github]: http://github.com/mikowitz/crayon "Crayon repository"
|
data/Rakefile
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'rake'
|
3
2
|
|
4
3
|
begin
|
@@ -10,8 +9,6 @@ begin
|
|
10
9
|
gem.email = "michael.berkowitz@gmail.com"
|
11
10
|
gem.homepage = "http://github.com/mikowitz/crayon"
|
12
11
|
gem.authors = ["Michael Berkowitz"]
|
13
|
-
gem.add_development_dependency "tinytest", ">= 0"
|
14
|
-
gem.add_development_dependency "yard", ">= 0"
|
15
12
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
16
13
|
end
|
17
14
|
Jeweler::GemcutterTasks.new
|
@@ -19,58 +16,31 @@ rescue LoadError
|
|
19
16
|
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
20
17
|
end
|
21
18
|
|
22
|
-
require 'rake/
|
23
|
-
Rake::
|
24
|
-
|
25
|
-
|
26
|
-
test.verbose = true
|
19
|
+
require 'spec/rake/spectask'
|
20
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
21
|
+
spec.libs << "lib" << "spec"
|
22
|
+
spec.spec_files = FileList["spec/**/*_spec.rb"]
|
27
23
|
end
|
28
24
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
test.pattern = 'test/**/test_*.rb'
|
34
|
-
test.verbose = true
|
35
|
-
end
|
36
|
-
rescue LoadError
|
37
|
-
task :rcov do
|
38
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
39
|
-
end
|
25
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
26
|
+
spec.libs << "lib" << "spec"
|
27
|
+
spec.pattern = "spec/**/*_spec.rb"
|
28
|
+
spec.rcov = true
|
40
29
|
end
|
41
30
|
|
42
|
-
task :
|
43
|
-
|
44
|
-
begin
|
45
|
-
require 'reek/adapters/rake_task'
|
46
|
-
Reek::RakeTask.new do |t|
|
47
|
-
t.fail_on_error = true
|
48
|
-
t.verbose = false
|
49
|
-
t.source_files = 'lib/**/*.rb'
|
50
|
-
end
|
51
|
-
rescue LoadError
|
52
|
-
task :reek do
|
53
|
-
abort "Reek is not available. In order to run reek, you must: sudo gem install reek"
|
54
|
-
end
|
55
|
-
end
|
31
|
+
task :spec => :check_dependencies
|
32
|
+
task :default => :spec
|
56
33
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
RoodiTask.new do |t|
|
61
|
-
t.verbose = false
|
62
|
-
end
|
63
|
-
rescue LoadError
|
64
|
-
task :roodi do
|
65
|
-
abort "Roodi is not available. In order to run roodi, you must: sudo gem install roodi"
|
66
|
-
end
|
34
|
+
desc "'Proof is the bottom line for everyone' -- Paul Simon"
|
35
|
+
task :proof do
|
36
|
+
system "ruby test/proof.rb"
|
67
37
|
end
|
68
38
|
|
69
|
-
task :default => :test
|
70
|
-
|
71
39
|
begin
|
72
40
|
require 'yard'
|
73
|
-
YARD::Rake::YardocTask.new
|
41
|
+
YARD::Rake::YardocTask.new do |t|
|
42
|
+
t.options = ['--no-private', '-mmarkdown']
|
43
|
+
end
|
74
44
|
rescue LoadError
|
75
45
|
task :yardoc do
|
76
46
|
abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
data/lib/crayon.rb
CHANGED
@@ -1,75 +1,108 @@
|
|
1
1
|
module Crayon
|
2
2
|
extend self
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
"red" => 1,
|
9
|
-
"green" => 2,
|
10
|
-
"yellow" => 3,
|
11
|
-
"blue" => 4,
|
12
|
-
"magenta" => 5,
|
13
|
-
"cyan" => 6,
|
14
|
-
"white" => 7
|
15
|
-
}
|
16
|
-
|
17
|
-
FORMATS = {
|
18
|
-
"bold" => 1,
|
19
|
-
"underline" => 4
|
20
|
-
}
|
4
|
+
class << self
|
5
|
+
# @private
|
6
|
+
attr_accessor :foreground, :background, :formatting, :method_name, :color, :newline
|
7
|
+
end
|
21
8
|
|
9
|
+
# @private
|
10
|
+
COLORS = { "black" => 0, "red" => 1, "green" => 2, "yellow" => 3, "blue" => 4, "magenta" => 5, "cyan" => 6, "white" => 7 }
|
11
|
+
# @private
|
12
|
+
FORMATS = { "bold" => 1, "underline" => 4 }
|
13
|
+
# @private
|
22
14
|
TERMINATION_STRING = "\e[0m"
|
23
15
|
|
24
|
-
|
16
|
+
# @private
|
17
|
+
def newline?; @newline.nil? ? true : @newline; end
|
18
|
+
# @private
|
25
19
|
def io; $stderr; end
|
26
20
|
|
27
|
-
def self.print;
|
21
|
+
def self.print; @newline = false; return Crayon; end
|
28
22
|
|
29
|
-
def self.puts;
|
23
|
+
def self.puts; @newline = true; return Crayon; end
|
30
24
|
|
31
25
|
def method_missing(method_name, string)
|
32
|
-
|
33
|
-
|
26
|
+
@method_name = method_name
|
27
|
+
parse_method_name
|
28
|
+
io.print prepare_string(string)
|
29
|
+
nullify_variables
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Converts a method name into color and formatting parameters
|
34
|
+
# @example
|
35
|
+
# Crayon.parse_method_name(:bold_red_on_green) #=> "['red', 'green', ['bold']]"
|
36
|
+
# @private
|
37
|
+
def parse_method_name
|
38
|
+
@method_name = @method_name.to_s.split("_")
|
39
|
+
@background = parse_background
|
40
|
+
@foreground = parse_foreground
|
41
|
+
@formatting = parse_formatting
|
42
|
+
end
|
43
|
+
|
44
|
+
# @private
|
45
|
+
def parse_background
|
46
|
+
_idx = @method_name.index("on")
|
47
|
+
if _idx
|
48
|
+
@method_name.delete("on")
|
49
|
+
return @method_name.delete_at(_idx)
|
50
|
+
end
|
34
51
|
end
|
35
52
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
53
|
+
# @private
|
54
|
+
def parse_foreground
|
55
|
+
@method_name.find {|color| COLORS.keys.include?(color) }
|
56
|
+
end
|
57
|
+
|
58
|
+
# @private
|
59
|
+
def parse_formatting
|
60
|
+
@method_name.select {|format| FORMATS.keys.include?(format) }
|
61
|
+
end
|
62
|
+
|
63
|
+
##
|
64
|
+
# Builds output string with color escape characters.
|
65
|
+
# @example
|
66
|
+
# Crayon.prepare_string('hello', 'red', 'blue', ['underline']) #=> "\e[31m\e[44m\e[4mhello\e[0m"
|
67
|
+
# @private
|
68
|
+
def prepare_string(string) #, foreground=nil, background=nil, formatting=[])
|
69
|
+
[ prepare_foreground_color,
|
70
|
+
prepare_background_color,
|
71
|
+
prepare_formatting,
|
41
72
|
string,
|
42
|
-
TERMINATION_STRING,
|
73
|
+
(TERMINATION_STRING if @foreground || @background || !@formatting.empty?),
|
43
74
|
(newline? ? "\n" : "")
|
44
75
|
].join("")
|
45
76
|
end
|
46
77
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
_background_color = _name.delete_at(_idx)
|
52
|
-
end
|
53
|
-
_foreground_color = _name.find {|color| COLORS.keys.include?(color) }
|
54
|
-
_formatting = _name.select{|format| FORMATS.keys.include?(format) }
|
55
|
-
[_foreground_color, _background_color, _formatting]
|
78
|
+
# @private
|
79
|
+
def prepare_foreground_color
|
80
|
+
@color = @foreground
|
81
|
+
handle_color(3)
|
56
82
|
end
|
57
83
|
|
58
|
-
|
59
|
-
|
84
|
+
# @private
|
85
|
+
def prepare_background_color
|
86
|
+
@color = @background
|
87
|
+
handle_color(4)
|
60
88
|
end
|
61
89
|
|
62
|
-
|
63
|
-
|
90
|
+
# @private
|
91
|
+
def prepare_formatting
|
92
|
+
return "" if @formatting.empty?
|
93
|
+
@formatting.map{|format| "\e[#{FORMATS[format]}m"}.join("")
|
64
94
|
end
|
65
95
|
|
66
|
-
|
67
|
-
|
68
|
-
|
96
|
+
# @private
|
97
|
+
def handle_color(lead)
|
98
|
+
return "" unless @color
|
99
|
+
"\e[#{lead}#{COLORS[@color]}m"
|
69
100
|
end
|
70
101
|
|
71
|
-
|
72
|
-
|
73
|
-
|
102
|
+
# @private
|
103
|
+
def nullify_variables
|
104
|
+
@foreground, @background, @formatting = nil, nil, []
|
105
|
+
@method_name, @color = nil, nil
|
106
|
+
io.flush
|
74
107
|
end
|
75
108
|
end
|
data/spec/crayon_spec.rb
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/helper")
|
2
|
+
|
3
|
+
def test_parse_method_name(input, *output)
|
4
|
+
describe "for input :#{input}" do
|
5
|
+
before do
|
6
|
+
Crayon.method_name = input
|
7
|
+
Crayon.parse_method_name
|
8
|
+
@fore, @back, @form = output
|
9
|
+
end
|
10
|
+
after { [:foreground, :background, :formatting].each {|method| Crayon.send(:"#{method}=", nil) } }
|
11
|
+
it "should return #{@fore.inspect} for foreground" do
|
12
|
+
Crayon.foreground.should == @fore
|
13
|
+
end
|
14
|
+
it "should return #{@back.inspect} for background" do
|
15
|
+
Crayon.background.should == @back
|
16
|
+
end
|
17
|
+
it "should return #{@form.inspect} for formatting" do
|
18
|
+
Crayon.formatting.should == @form
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_prepare_string(expected_output, *args)
|
24
|
+
it "should return correctly for #{args.inspect}" do
|
25
|
+
Crayon.foreground = args.fetch(1) { nil }
|
26
|
+
Crayon.background = args.fetch(2) { nil }
|
27
|
+
Crayon.formatting = args.fetch(3) { [] }
|
28
|
+
Crayon.prepare_string(args.first).should == expected_output
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "Crayon" do
|
33
|
+
it "should, by default, add line breaks" do
|
34
|
+
Crayon.newline?.should be
|
35
|
+
end
|
36
|
+
describe "after a print command" do
|
37
|
+
before { Crayon.print }
|
38
|
+
it "should not add line breaks" do
|
39
|
+
Crayon.newline?.should_not be
|
40
|
+
end
|
41
|
+
end
|
42
|
+
describe "after a puts command" do
|
43
|
+
before { Crayon.puts }
|
44
|
+
it "should add line breaks" do
|
45
|
+
Crayon.newline?.should be
|
46
|
+
end
|
47
|
+
end
|
48
|
+
describe "method_missing" do
|
49
|
+
describe "should call :prepare string" do
|
50
|
+
before { Crayon.should_receive(:prepare_string).with("hello") }
|
51
|
+
it "when Crayon.red is called" do
|
52
|
+
Crayon.red("hello")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
describe "should unset instance variables after being called" do
|
56
|
+
before { Crayon.bold_red_on_green("hello") }
|
57
|
+
it "should unset foreground" do
|
58
|
+
Crayon.foreground.should be_nil
|
59
|
+
end
|
60
|
+
it "should unset background" do
|
61
|
+
Crayon.background.should be_nil
|
62
|
+
end
|
63
|
+
it "should unset formatting" do
|
64
|
+
Crayon.formatting.should be_empty
|
65
|
+
end
|
66
|
+
it "should unset method_name" do
|
67
|
+
Crayon.method_name.should be_nil
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
describe "parse_method_name" do
|
72
|
+
test_parse_method_name(:red, "red", nil, [])
|
73
|
+
test_parse_method_name(:on_red, nil, "red", [])
|
74
|
+
test_parse_method_name(:bold, nil, nil, ["bold"])
|
75
|
+
|
76
|
+
test_parse_method_name(:blue_on_green, "blue", "green", [])
|
77
|
+
test_parse_method_name(:bold_cyan_on_magenta, "cyan", "magenta", ["bold"])
|
78
|
+
|
79
|
+
test_parse_method_name(:red_green, "red", nil, [])
|
80
|
+
test_parse_method_name(:red_bold_underline, "red", nil, ["bold", "underline"])
|
81
|
+
test_parse_method_name(:underline_on_green_bold, nil, "green", ["underline", "bold"])
|
82
|
+
end
|
83
|
+
|
84
|
+
describe "prepare_string" do
|
85
|
+
describe "with no line break" do
|
86
|
+
before { Crayon.print }
|
87
|
+
test_prepare_string("hello", "hello")
|
88
|
+
test_prepare_string("\e[31mhello\e[0m", "hello", "red", nil)
|
89
|
+
test_prepare_string("\e[33m\e[47mhello\e[0m", "hello", "yellow", "white")
|
90
|
+
test_prepare_string("\e[4m\e[1mhello\e[0m", "hello", nil, nil, ["underline", "bold"])
|
91
|
+
end
|
92
|
+
|
93
|
+
describe "with a line break" do
|
94
|
+
before { Crayon.puts }
|
95
|
+
test_prepare_string("hello\n", "hello")
|
96
|
+
test_prepare_string("\e[31mhello\e[0m\n", "hello", "red", nil)
|
97
|
+
test_prepare_string("\e[33m\e[47mhello\e[0m\n", "hello", "yellow", "white")
|
98
|
+
test_prepare_string("\e[4m\e[1mhello\e[0m\n", "hello", nil, nil, ["underline", "bold"])
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
data/spec/helper.rb
ADDED
data/spec/spec.opts
ADDED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 5
|
9
|
+
version: 0.0.5
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Michael Berkowitz
|
@@ -14,33 +14,10 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-04-21 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
|
-
dependencies:
|
20
|
-
|
21
|
-
name: tinytest
|
22
|
-
prerelease: false
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 0
|
29
|
-
version: "0"
|
30
|
-
type: :development
|
31
|
-
version_requirements: *id001
|
32
|
-
- !ruby/object:Gem::Dependency
|
33
|
-
name: yard
|
34
|
-
prerelease: false
|
35
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
segments:
|
40
|
-
- 0
|
41
|
-
version: "0"
|
42
|
-
type: :development
|
43
|
-
version_requirements: *id002
|
19
|
+
dependencies: []
|
20
|
+
|
44
21
|
description: A simple, flexible gem that provides an open-ended API to print colored and styled output to the terminal.
|
45
22
|
email: michael.berkowitz@gmail.com
|
46
23
|
executables: []
|
@@ -49,17 +26,19 @@ extensions: []
|
|
49
26
|
|
50
27
|
extra_rdoc_files:
|
51
28
|
- LICENSE
|
52
|
-
- README.
|
29
|
+
- README.md
|
53
30
|
files:
|
54
31
|
- .document
|
55
32
|
- .gitignore
|
33
|
+
- Gemfile
|
56
34
|
- LICENSE
|
57
|
-
- README.
|
35
|
+
- README.md
|
58
36
|
- Rakefile
|
59
37
|
- VERSION
|
60
38
|
- lib/crayon.rb
|
61
|
-
-
|
62
|
-
-
|
39
|
+
- spec/crayon_spec.rb
|
40
|
+
- spec/helper.rb
|
41
|
+
- spec/spec.opts
|
63
42
|
has_rdoc: true
|
64
43
|
homepage: http://github.com/mikowitz/crayon
|
65
44
|
licenses: []
|
@@ -91,5 +70,5 @@ signing_key:
|
|
91
70
|
specification_version: 3
|
92
71
|
summary: a new version of 'color' with a less common name.
|
93
72
|
test_files:
|
94
|
-
-
|
95
|
-
-
|
73
|
+
- spec/crayon_spec.rb
|
74
|
+
- spec/helper.rb
|
data/README.rdoc
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
= crayon
|
2
|
-
|
3
|
-
=== current version : 0.0.2
|
4
|
-
|
5
|
-
http://github.com/mikowitz/crayon
|
6
|
-
|
7
|
-
== Description
|
8
|
-
|
9
|
-
A simple, flexible gem that provides an open-ended API to print colored and styled output to the terminal.
|
10
|
-
|
11
|
-
== Installation
|
12
|
-
|
13
|
-
Install the gemcutter gem
|
14
|
-
~$ gem install gemcutter
|
15
|
-
Add gemcutter.org to your gem remote sources
|
16
|
-
~$ gem tumble
|
17
|
-
Download and install this gem
|
18
|
-
~$ gem install crayon
|
19
|
-
|
20
|
-
== Usage examples
|
21
|
-
|
22
|
-
To include this gem in a project
|
23
|
-
require 'crayon'
|
24
|
-
|
25
|
-
The following are all methods that <code>Crayon</code> understands, and should give you an idea of what is possible.
|
26
|
-
|
27
|
-
Crayon.blue("this will be printed as blue text")
|
28
|
-
Crayon.on_red("this will be printed on a red background")
|
29
|
-
Crayon.bold("this will be bold")
|
30
|
-
Crayon.underline_blue_on_yellow("this will be underlined blue text on a yellow background")
|
31
|
-
|
32
|
-
The order of elements in the method name is also unimportant. For example
|
33
|
-
|
34
|
-
Color.bold_underline_blue_on_yellow("sample text")
|
35
|
-
|
36
|
-
will look the same as
|
37
|
-
|
38
|
-
Color.on_yellow_bold_blue_underline("sample text")
|
39
|
-
|
40
|
-
Check out <code>test/proof.rb"</code> and <code>`rake proof`</code> if you don't believe me.
|
41
|
-
|
42
|
-
== Copyright
|
43
|
-
|
44
|
-
Copyright (c) 2010 Michael Berkowitz. See LICENSE for details.
|
45
|
-
|
data/test/helper.rb
DELETED
data/test/test_crayon.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
include TinyTest
|
4
|
-
|
5
|
-
is { Crayon.newline? } # by default?
|
6
|
-
|
7
|
-
is {
|
8
|
-
Crayon.print
|
9
|
-
not Crayon.newline?
|
10
|
-
}
|
11
|
-
|
12
|
-
is {
|
13
|
-
Crayon.puts
|
14
|
-
Crayon.newline?
|
15
|
-
}
|
16
|
-
|
17
|
-
# Crayon.parse_method_name
|
18
|
-
does { Crayon.parse_method_name(:red) == ["red", nil, []] }
|
19
|
-
does { Crayon.parse_method_name(:on_red) == [nil, "red", []] }
|
20
|
-
does { Crayon.parse_method_name(:bold) == [nil, nil, ["bold"]] }
|
21
|
-
|
22
|
-
does { Crayon.parse_method_name(:blue_on_green) == ["blue", "green", []] }
|
23
|
-
does { Crayon.parse_method_name(:bold_cyan_on_magenta) == ["cyan", "magenta", ["bold"]] }
|
24
|
-
|
25
|
-
does { Crayon.parse_method_name(:red_green) == ["red", nil, []] }
|
26
|
-
does { Crayon.parse_method_name(:red_bold_underline) == ["red", nil, ["bold", "underline"]] }
|
27
|
-
does { Crayon.parse_method_name(:underline_on_green_bold) == [nil, "green", ["underline", "bold"]] }
|