zebra-zpl 1.0.5 → 1.1.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +62 -0
- data/CONTRIBUTING.md +49 -0
- data/Gemfile +6 -0
- data/README.md +259 -76
- data/docs/example.rb +249 -0
- data/docs/images/barcode.png +0 -0
- data/docs/images/datamatrix.png +0 -0
- data/docs/images/earth.jpg +0 -0
- data/docs/images/graphics.png +0 -0
- data/docs/images/image.png +0 -0
- data/docs/images/image_inverted.png +0 -0
- data/docs/images/images.png +0 -0
- data/docs/images/justification.png +0 -0
- data/docs/images/qrcode.png +0 -0
- data/docs/images/rotation.png +0 -0
- data/docs/images/text.png +0 -0
- data/lib/zebra/print_job.rb +7 -13
- data/lib/zebra/zpl.rb +20 -13
- data/lib/zebra/zpl/barcode.rb +29 -12
- data/lib/zebra/zpl/barcode_type.rb +4 -1
- data/lib/zebra/zpl/box.rb +16 -4
- data/lib/zebra/zpl/comment.rb +15 -0
- data/lib/zebra/zpl/datamatrix.rb +76 -0
- data/lib/zebra/zpl/graphic.rb +91 -0
- data/lib/zebra/zpl/image.rb +91 -0
- data/lib/zebra/zpl/label.rb +2 -13
- data/lib/zebra/zpl/pdf417.rb +50 -0
- data/lib/zebra/zpl/qrcode.rb +2 -2
- data/lib/zebra/zpl/text.rb +44 -20
- data/lib/zebra/zpl/version.rb +1 -1
- data/spec/fixtures/default.jpg +0 -0
- data/spec/spec_helper.rb +6 -2
- data/spec/zebra/print_job_spec.rb +13 -18
- data/spec/zebra/zpl/barcode_spec.rb +70 -63
- data/spec/zebra/zpl/box_spec.rb +27 -31
- data/spec/zebra/zpl/character_set_spec.rb +7 -7
- data/spec/zebra/zpl/comment_spec.rb +18 -0
- data/spec/zebra/zpl/datamatrix_spec.rb +124 -0
- data/spec/zebra/zpl/graphics_spec.rb +227 -0
- data/spec/zebra/zpl/image_spec.rb +113 -0
- data/spec/zebra/zpl/label_spec.rb +40 -52
- data/spec/zebra/zpl/pdf417_spec.rb +108 -0
- data/spec/zebra/zpl/qrcode_spec.rb +92 -92
- data/spec/zebra/zpl/text_spec.rb +57 -55
- data/zebra-zpl.gemspec +14 -15
- metadata +71 -22
data/lib/zebra/zpl/version.rb
CHANGED
Binary file
|
data/spec/spec_helper.rb
CHANGED
@@ -6,9 +6,13 @@
|
|
6
6
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
7
|
|
8
8
|
require "zebra/zpl"
|
9
|
+
require 'byebug'
|
10
|
+
require 'pry'
|
11
|
+
require 'pry-nav'
|
12
|
+
|
13
|
+
ENV['RUBY_ENV'] = 'test'
|
9
14
|
|
10
15
|
RSpec.configure do |config|
|
11
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
12
16
|
config.run_all_when_everything_filtered = true
|
13
17
|
config.filter_run :focus
|
14
18
|
|
@@ -16,5 +20,5 @@ RSpec.configure do |config|
|
|
16
20
|
# order dependency and want to debug it, you can fix the order by providing
|
17
21
|
# the seed, which is printed after each run.
|
18
22
|
# --seed 1234
|
19
|
-
config.order = 'random'
|
23
|
+
# config.order = 'random'
|
20
24
|
end
|
@@ -1,36 +1,31 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Zebra::PrintJob do
|
4
|
-
before do
|
5
|
-
Cups.stub(:show_destinations).and_return(["Zebra", "Foobar"])
|
6
|
-
end
|
7
|
-
|
8
4
|
it "receives the name of a printer" do
|
9
|
-
described_class.new("Zebra").printer.
|
10
|
-
end
|
11
|
-
|
12
|
-
it "raises an error if the printer does not exists" do
|
13
|
-
expect {
|
14
|
-
described_class.new("Wrong")
|
15
|
-
}.to raise_error(Zebra::PrintJob::UnknownPrinter)
|
5
|
+
expect(described_class.new("Zebra").printer).to eq 'Zebra'
|
16
6
|
end
|
17
7
|
|
18
8
|
describe "#print" do
|
19
|
-
let(:label) {
|
20
|
-
let(:
|
21
|
-
let(:
|
9
|
+
let(:label) { Zebra::Zpl::Label.new(print_speed: 2) }
|
10
|
+
let(:zpl_string) { '^XA^FO50,50^FDHello, Zebra^FS^XZ' }
|
11
|
+
let(:ip) { '127.0.0.1' }
|
22
12
|
|
23
13
|
subject(:print_job) { described_class.new "Zebra" }
|
24
14
|
|
25
|
-
before { print_job.
|
15
|
+
before { allow(print_job).to receive(:`) { true } }
|
26
16
|
|
27
17
|
it "creates a cups print job with the correct arguments" do
|
28
|
-
print_job.print label
|
18
|
+
print_job.print label, ip
|
29
19
|
end
|
30
20
|
|
31
21
|
it "prints the label" do
|
32
|
-
print_job.
|
33
|
-
print_job.print label
|
22
|
+
expect(print_job).to receive(:system).with(/r?lpr? -(h|H) 127.0.0.1 -(d|P) Zebra.*/).at_least(:once)
|
23
|
+
print_job.print label, ip
|
24
|
+
end
|
25
|
+
|
26
|
+
it "can print from a ZPL string" do
|
27
|
+
expect(print_job).to receive(:system).with(/r?lpr? -(h|H) 127.0.0.1 -(d|P) Zebra.*/).at_least(:once)
|
28
|
+
print_job.print zpl_string, ip
|
34
29
|
end
|
35
30
|
end
|
36
31
|
end
|
@@ -2,48 +2,58 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Zebra::Zpl::Barcode do
|
4
4
|
it "can be initialized with the position of the text to be printed" do
|
5
|
-
barcode = described_class.new :
|
6
|
-
barcode.position.
|
7
|
-
barcode.x.
|
8
|
-
barcode.y.
|
5
|
+
barcode = described_class.new position: [20, 40]
|
6
|
+
expect(barcode.position).to eq [20,40]
|
7
|
+
expect(barcode.x).to eq 20
|
8
|
+
expect(barcode.y).to eq 40
|
9
9
|
end
|
10
10
|
|
11
11
|
it "can be initialized with the barcode rotation" do
|
12
12
|
rotation = Zebra::Zpl::Rotation::DEGREES_90
|
13
|
-
barcode = described_class.new :
|
14
|
-
barcode.rotation.
|
13
|
+
barcode = described_class.new rotation: rotation
|
14
|
+
expect(barcode.rotation).to eq rotation
|
15
15
|
end
|
16
16
|
|
17
17
|
it "can be initialized with the barcode rotation" do
|
18
18
|
rotation = Zebra::Zpl::Rotation::DEGREES_90
|
19
|
-
barcode = described_class.new :
|
20
|
-
barcode.rotation.
|
19
|
+
barcode = described_class.new rotation: rotation
|
20
|
+
expect(barcode.rotation).to eq rotation
|
21
21
|
end
|
22
22
|
|
23
23
|
it "can be initialized with the barcode type" do
|
24
|
-
type = Zebra::Zpl::BarcodeType::
|
25
|
-
barcode = described_class.new :
|
26
|
-
barcode.type.
|
24
|
+
type = Zebra::Zpl::BarcodeType::CODE_128_AUTO
|
25
|
+
barcode = described_class.new type: type
|
26
|
+
expect(barcode.type).to eq type
|
27
27
|
end
|
28
28
|
|
29
|
-
it "can be initialized with the
|
30
|
-
barcode = described_class.new :
|
31
|
-
barcode.
|
29
|
+
it "can be initialized with the barcode width" do
|
30
|
+
barcode = described_class.new width: 5
|
31
|
+
expect(barcode.width).to eq 5
|
32
32
|
end
|
33
33
|
|
34
|
-
it "can be initialized with the
|
35
|
-
barcode = described_class.new :
|
36
|
-
barcode.
|
34
|
+
it "can be initialized with the barcode height" do
|
35
|
+
barcode = described_class.new height: 20
|
36
|
+
expect(barcode.height).to eq 20
|
37
37
|
end
|
38
38
|
|
39
|
-
it "can be initialized with the
|
40
|
-
barcode = described_class.new :
|
41
|
-
barcode.
|
39
|
+
it "can be initialized with the ratio" do
|
40
|
+
barcode = described_class.new ratio: 3.0
|
41
|
+
expect(barcode.ratio).to eq 3.0
|
42
|
+
end
|
43
|
+
|
44
|
+
it "can be initialized with the narrow bar width" do
|
45
|
+
barcode = described_class.new narrow_bar_width: 3
|
46
|
+
expect(barcode.narrow_bar_width).to eq 3
|
47
|
+
end
|
48
|
+
|
49
|
+
it "can be initialized with the wide bar width" do
|
50
|
+
barcode = described_class.new wide_bar_width: 10
|
51
|
+
expect(barcode.wide_bar_width).to eq 10
|
42
52
|
end
|
43
53
|
|
44
54
|
it "can be initialized informing if the human readable code should be printed" do
|
45
|
-
barcode = described_class.new :
|
46
|
-
barcode.print_human_readable_code.
|
55
|
+
barcode = described_class.new print_human_readable_code: true
|
56
|
+
expect(barcode.print_human_readable_code).to eq true
|
47
57
|
end
|
48
58
|
|
49
59
|
describe "#rotation=" do
|
@@ -65,7 +75,7 @@ describe Zebra::Zpl::Barcode do
|
|
65
75
|
describe "#narrow_bar_width=" do
|
66
76
|
it "raises an error if the type is Code 128 and the width is invalid" do
|
67
77
|
expect {
|
68
|
-
described_class.new :
|
78
|
+
described_class.new type: Zebra::Zpl::BarcodeType::CODE_128_AUTO, narrow_bar_width: 20
|
69
79
|
}.to raise_error(Zebra::Zpl::Barcode::InvalidNarrowBarWidthError)
|
70
80
|
end
|
71
81
|
end
|
@@ -73,45 +83,46 @@ describe Zebra::Zpl::Barcode do
|
|
73
83
|
describe "#wide_bar_width=" do
|
74
84
|
it "raises an error if the type is Code 128 and the width is invalid" do
|
75
85
|
expect {
|
76
|
-
described_class.new :
|
86
|
+
described_class.new type: Zebra::Zpl::BarcodeType::CODE_128_AUTO, wide_bar_width: 40
|
77
87
|
}.to raise_error(Zebra::Zpl::Barcode::InvalidWideBarWidthError)
|
78
88
|
end
|
79
89
|
end
|
80
90
|
|
81
91
|
describe "#print_human_readable_code" do
|
82
92
|
it "defaults to false" do
|
83
|
-
described_class.new.print_human_readable_code.
|
93
|
+
expect(described_class.new.print_human_readable_code).to eq false
|
84
94
|
end
|
85
95
|
end
|
86
96
|
|
87
97
|
describe "#to_zpl" do
|
88
98
|
let(:valid_attributes) { {
|
89
|
-
:
|
90
|
-
:
|
91
|
-
:
|
92
|
-
:
|
93
|
-
:
|
94
|
-
:
|
99
|
+
position: [100, 150],
|
100
|
+
type: Zebra::Zpl::BarcodeType::CODE_128_AUTO,
|
101
|
+
height: 20,
|
102
|
+
width: 5,
|
103
|
+
narrow_bar_width: 3,
|
104
|
+
wide_bar_width: 6,
|
105
|
+
data: "foobar"
|
95
106
|
} }
|
96
107
|
let(:barcode) { described_class.new valid_attributes }
|
97
|
-
let(:tokens) { barcode.to_zpl.split(
|
108
|
+
let(:tokens) { barcode.to_zpl.split(/(\^[A-Z]+|\,)/).reject{ |e| ['', ',', nil].include?(e) } }
|
98
109
|
|
99
110
|
it "raises an error if the X position was not informed" do
|
100
|
-
barcode = described_class.new :
|
111
|
+
barcode = described_class.new position: [nil, 100], data: "foobar"
|
101
112
|
expect {
|
102
113
|
barcode.to_zpl
|
103
114
|
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the X value is not given")
|
104
115
|
end
|
105
116
|
|
106
117
|
it "raises an error if the Y position was not informed" do
|
107
|
-
barcode = described_class.new :
|
118
|
+
barcode = described_class.new position: [100, nil]
|
108
119
|
expect {
|
109
120
|
barcode.to_zpl
|
110
121
|
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the Y value is not given")
|
111
122
|
end
|
112
123
|
|
113
124
|
it "raises an error if the barcode type is not informed" do
|
114
|
-
barcode = described_class.new :
|
125
|
+
barcode = described_class.new position: [100, 100], data: "foobar"
|
115
126
|
expect {
|
116
127
|
barcode.to_zpl
|
117
128
|
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the barcode type to be used is not given")
|
@@ -131,66 +142,62 @@ describe Zebra::Zpl::Barcode do
|
|
131
142
|
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the height to be used is not given")
|
132
143
|
end
|
133
144
|
|
134
|
-
it "raises an error if the
|
145
|
+
it "raises an error if the neither of with, narrow_bar_width, or wide_bar_width are not given" do
|
146
|
+
valid_attributes.delete :width
|
135
147
|
valid_attributes.delete :narrow_bar_width
|
136
|
-
|
137
|
-
expect {
|
138
|
-
barcode.to_zpl
|
139
|
-
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the narrow bar width to be used is not given")
|
140
|
-
end
|
141
|
-
|
142
|
-
it "raises an error if the wide bar width is not given" do
|
143
148
|
valid_attributes.delete :wide_bar_width
|
144
|
-
|
145
149
|
expect {
|
146
150
|
barcode.to_zpl
|
147
|
-
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the
|
151
|
+
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the width to be used is not given")
|
148
152
|
end
|
149
153
|
|
150
154
|
it "begins with the command 'B'" do
|
151
|
-
|
155
|
+
expect(tokens[4]).to eq '^BY'
|
152
156
|
end
|
153
157
|
|
154
158
|
it "contains the X position" do
|
155
|
-
tokens[
|
159
|
+
expect(tokens[2]).to eq '100'
|
156
160
|
end
|
157
161
|
|
158
162
|
it "contains the Y position" do
|
159
|
-
tokens[
|
163
|
+
expect(tokens[3]).to eq '150'
|
160
164
|
end
|
161
165
|
|
162
|
-
it "contains the
|
163
|
-
tokens[
|
166
|
+
it "contains the width" do
|
167
|
+
expect(tokens[5]).to eq '5'
|
164
168
|
end
|
165
169
|
|
166
|
-
it "contains the
|
167
|
-
tokens[
|
170
|
+
it "contains the ratio" do
|
171
|
+
expect(tokens[6]).to eq '2.0'
|
168
172
|
end
|
169
173
|
|
170
|
-
it "contains the barcode
|
171
|
-
tokens[
|
174
|
+
it "contains the barcode height" do
|
175
|
+
expect(tokens[7]).to eq '20'
|
172
176
|
end
|
173
177
|
|
174
|
-
it "contains the barcode
|
175
|
-
tokens[
|
178
|
+
it "contains the barcode type" do
|
179
|
+
expect(tokens[8]).to start_with "^B#{Zebra::Zpl::BarcodeType::CODE_128_AUTO}"
|
176
180
|
end
|
177
181
|
|
178
|
-
it "contains the barcode
|
179
|
-
tokens[
|
182
|
+
it "contains the barcode rotation" do
|
183
|
+
expect(tokens[0]).to start_with '^FW'
|
184
|
+
expect(tokens[0]).to end_with Zebra::Zpl::Rotation::NO_ROTATION.to_s
|
185
|
+
expect(tokens[8]).to start_with '^B'
|
186
|
+
expect(tokens[8]).to end_with Zebra::Zpl::Rotation::NO_ROTATION.to_s
|
180
187
|
end
|
181
188
|
|
182
189
|
it "contains the correct indication when the human readable code should be printed" do
|
183
|
-
valid_attributes.merge! :
|
184
|
-
tokens[
|
190
|
+
valid_attributes.merge! print_human_readable_code: true
|
191
|
+
expect(tokens[9]).to eq 'Y'
|
185
192
|
end
|
186
193
|
|
187
194
|
it "contains the correct indication when the human readable code should not be printed" do
|
188
|
-
valid_attributes.merge! :
|
189
|
-
tokens[
|
195
|
+
valid_attributes.merge! print_human_readable_code: false
|
196
|
+
expect(tokens[9]).to eq 'N'
|
190
197
|
end
|
191
198
|
|
192
199
|
it "contains the data to be printed in the barcode" do
|
193
|
-
tokens[
|
200
|
+
expect(tokens[11]).to eq 'foobar'
|
194
201
|
end
|
195
202
|
end
|
196
203
|
end
|
data/spec/zebra/zpl/box_spec.rb
CHANGED
@@ -3,69 +3,65 @@ require 'spec_helper'
|
|
3
3
|
|
4
4
|
describe Zebra::Zpl::Box do
|
5
5
|
it "can be initialized with initial position" do
|
6
|
-
box = described_class.new :
|
7
|
-
box.position.
|
8
|
-
box.x.
|
9
|
-
box.y.
|
10
|
-
end
|
11
|
-
|
12
|
-
it "can be initialized with the end position" do
|
13
|
-
box = described_class.new :end_position => [20, 40]
|
14
|
-
box.end_position.should == [20, 40]
|
15
|
-
box.end_x.should == 20
|
16
|
-
box.end_y.should == 40
|
6
|
+
box = described_class.new position: [20, 40]
|
7
|
+
expect(box.position).to eq [20, 40]
|
8
|
+
expect(box.x).to eq 20
|
9
|
+
expect(box.y).to eq 40
|
17
10
|
end
|
18
11
|
|
19
12
|
it "can be initialized with the line thckness " do
|
20
|
-
box = described_class.new :
|
21
|
-
box.line_thickness.
|
13
|
+
box = described_class.new line_thickness: 3
|
14
|
+
expect(box.line_thickness).to eq 3
|
22
15
|
end
|
23
16
|
|
24
17
|
describe "#to_zpl" do
|
25
|
-
subject(:box)
|
26
|
-
let(:attributes) {
|
18
|
+
subject(:box) { described_class.new attributes }
|
19
|
+
let(:attributes) {{
|
20
|
+
position: [20,40],
|
21
|
+
line_thickness: 3,
|
22
|
+
box_width: 5,
|
23
|
+
box_height: 4,
|
24
|
+
color: 'B',
|
25
|
+
rounding_degree: 6
|
26
|
+
}}
|
27
27
|
|
28
28
|
it "raises an error if the X position was not informed" do
|
29
|
-
box = described_class.new attributes.merge :
|
29
|
+
box = described_class.new attributes.merge position: [nil, 40]
|
30
30
|
expect {
|
31
31
|
box.to_zpl
|
32
32
|
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the X value is not given")
|
33
33
|
end
|
34
34
|
|
35
35
|
it "raises an error if the Y position was not informed" do
|
36
|
-
box = described_class.new attributes.merge :
|
36
|
+
box = described_class.new attributes.merge position: [20, nil]
|
37
37
|
expect {
|
38
38
|
box.to_zpl
|
39
39
|
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the Y value is not given")
|
40
40
|
end
|
41
41
|
|
42
|
-
it "raises an error if the
|
43
|
-
box = described_class.new attributes.merge :
|
42
|
+
it "raises an error if the line thickness was not informed" do
|
43
|
+
box = described_class.new attributes.merge line_thickness: nil
|
44
44
|
expect {
|
45
45
|
box.to_zpl
|
46
|
-
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the
|
46
|
+
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the line thickness is not given")
|
47
47
|
end
|
48
48
|
|
49
|
-
it "raises an error if the
|
50
|
-
box = described_class.new attributes.merge :
|
49
|
+
it "raises an error if the box width was not informed" do
|
50
|
+
box = described_class.new attributes.merge box_width: nil
|
51
51
|
expect {
|
52
52
|
box.to_zpl
|
53
|
-
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the
|
53
|
+
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the box_width is not given")
|
54
54
|
end
|
55
55
|
|
56
|
-
it "raises an error if the
|
57
|
-
box = described_class.new attributes.merge :
|
56
|
+
it "raises an error if the box height was not informed" do
|
57
|
+
box = described_class.new attributes.merge box_height: nil
|
58
58
|
expect {
|
59
59
|
box.to_zpl
|
60
|
-
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the
|
61
|
-
end
|
62
|
-
|
63
|
-
it "begins with the 'X' command" do
|
64
|
-
box.to_zpl.should =~ /\AX/
|
60
|
+
}.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the box_height is not given")
|
65
61
|
end
|
66
62
|
|
67
63
|
it "contains the attributes in correct order" do
|
68
|
-
box.to_zpl.
|
64
|
+
expect(box.to_zpl).to eq '^FO20,40^GB5,4,3,B,6^FS'
|
69
65
|
end
|
70
66
|
end
|
71
67
|
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Zebra::Zpl::CharacterSet do
|
4
4
|
it "can be initialized with the number of data bits" do
|
5
5
|
character_set = described_class.new :number_of_data_bits => 8
|
6
|
-
character_set.number_of_data_bits.
|
6
|
+
expect(character_set.number_of_data_bits).to eq 8
|
7
7
|
end
|
8
8
|
|
9
9
|
it "raises an error when receiving an invalid number of data bits" do
|
@@ -14,7 +14,7 @@ describe Zebra::Zpl::CharacterSet do
|
|
14
14
|
|
15
15
|
it "can be initialized with the language" do
|
16
16
|
character_set = described_class.new :language => Zebra::Zpl::Language::PORTUGUESE
|
17
|
-
character_set.language.
|
17
|
+
expect(character_set.language).to eq Zebra::Zpl::Language::PORTUGUESE
|
18
18
|
end
|
19
19
|
|
20
20
|
it "raises an error with an invalid language" do
|
@@ -25,7 +25,7 @@ describe Zebra::Zpl::CharacterSet do
|
|
25
25
|
|
26
26
|
it "can be initialized with the country code" do
|
27
27
|
character_set = described_class.new :country_code => Zebra::Zpl::CountryCode::LATIN_AMERICA
|
28
|
-
character_set.country_code.
|
28
|
+
expect(character_set.country_code).to eq Zebra::Zpl::CountryCode::LATIN_AMERICA
|
29
29
|
end
|
30
30
|
|
31
31
|
it "raises an error with an invalid country code" do
|
@@ -82,19 +82,19 @@ describe Zebra::Zpl::CharacterSet do
|
|
82
82
|
end
|
83
83
|
|
84
84
|
it "begins with the command 'I'" do
|
85
|
-
character_set.to_zpl.
|
85
|
+
expect(character_set.to_zpl).to match /\AI/
|
86
86
|
end
|
87
87
|
|
88
88
|
it "contains the number of data bits" do
|
89
|
-
tokens[0].match(/I(\d)/)[1].
|
89
|
+
expect(tokens[0].match(/I(\d)/)[1]).to eq "8"
|
90
90
|
end
|
91
91
|
|
92
92
|
it "contains the language" do
|
93
|
-
tokens[1].
|
93
|
+
expect(tokens[1]).to eq Zebra::Zpl::Language::PORTUGUESE
|
94
94
|
end
|
95
95
|
|
96
96
|
it "contains the country code" do
|
97
|
-
tokens[2].
|
97
|
+
expect(tokens[2]).to eq Zebra::Zpl::CountryCode::LATIN_AMERICA
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|