spec/zebra/zpl/text_spec.rb in zebra-zpl-1.1.3 vs spec/zebra/zpl/text_spec.rb in zebra-zpl-1.1.4
- old
+ new
@@ -1,144 +1,109 @@
-# encoding: utf-8
-require 'spec_helper'
-
-describe Zebra::Zpl::Text do
- it "can be initialized with the position of the text to be printed" do
- text = described_class.new position: [20, 40]
- expect(text.position).to eq [20,40]
- expect(text.x).to eq 20
- expect(text.y).to eq 40
- end
-
- it "can be initialized with the text rotation" do
- rotation = Zebra::Zpl::Rotation::DEGREES_90
- text = described_class.new rotation: rotation
- expect(text.rotation).to eq rotation
- end
-
- it "can be initialized with the font_size to be used" do
- font_size = Zebra::Zpl::FontSize::SIZE_1
- text = described_class.new font_size: font_size
- expect(text.font_size).to eq font_size
- end
-
- # it "can be initialized with the horizontal multiplier" do
- # multiplier = Zebra::Zpl::HorizontalMultiplier::VALUE_1
- # text = described_class.new h_multiplier: multiplier
- # expect(text.h_multiplier).to eq multiplier
- # end
- #
- # it "can be initialized with the vertical multiplier" do
- # multiplier = Zebra::Zpl::VerticalMultiplier::VALUE_1
- # text = described_class.new v_multiplier: multiplier
- # expect(text.v_multiplier).to eq multiplier
- # end
-
- it "can be initialized with the data to be printed" do
- data = "foobar"
- text = described_class.new data: data
- expect(text.data).to eq data
- end
-
- it "can be initialized with the printing mode" do
- print_mode = Zebra::Zpl::PrintMode::REVERSE
- text = described_class.new print_mode: print_mode
- expect(text.print_mode).to eq print_mode
- end
-
- describe "#rotation=" do
- it "raises an error if the received rotation is invalid" do
- expect {
- described_class.new.rotation = 4
- }.to raise_error(Zebra::Zpl::Rotation::InvalidRotationError)
- end
- end
-
- describe "#font_size=" do
- it "raises an error if the received font_size is invalid" do
- expect {
- described_class.new.font_size = -1
- }.to raise_error(Zebra::Zpl::FontSize::InvalidFontSizeError)
- expect {
- described_class.new.font_size = 32001
- }.to raise_error(Zebra::Zpl::FontSize::InvalidFontSizeError)
- end
- end
-
- # describe "#h_multiplier=" do
- # it "raises an error if the received multiplier is invalid" do
- # expect {
- # described_class.new.h_multiplier = 9
- # }.to raise_error(Zebra::Zpl::HorizontalMultiplier::InvalidMultiplierError)
- # end
- # end
- #
- # describe "#v_multiplier=" do
- # it "raises an error if the received multiplier is invalid" do
- # expect {
- # described_class.new.v_multiplier = 10
- # }.to raise_error(Zebra::Zpl::VerticalMultiplier::InvalidMultiplierError)
- # end
- # end
-
- describe "#print_mode=" do
- it "raises an error if the received print mode is invalid" do
- expect {
- described_class.new.print_mode = "foo"
- }.to raise_error(Zebra::Zpl::PrintMode::InvalidPrintModeError)
- end
- end
-
- describe "#to_zpl" do
- subject(:text) { described_class.new position: [100, 150], font_size: Zebra::Zpl::FontSize::SIZE_3, data: "foobar" }
- subject(:text_bold) { described_class.new position: [100, 150], font_size: Zebra::Zpl::FontSize::SIZE_3, bold: true, data: "foobar" }
- subject(:tokens) { text.to_zpl.split(/(\^[A-Z]+|\,)/).reject{ |e| ['', ',', nil].include?(e) } }
-
- it "raises an error if the X position was not informed" do
- text = described_class.new position: [nil, 100], data: "foobar"
- expect {
- text.to_zpl
- }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the X value is not given")
- end
-
- it "raises an error if the Y position was not informed" do
- text = described_class.new position: [100, nil]
- expect {
- text.to_zpl
- }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the Y value is not given")
- end
-
- it "raises an error if the font_size is not informed" do
- text = described_class.new position: [100, 100], data: "foobar"
- expect {
- text.to_zpl
- }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the font_size to be used is not given")
- end
-
- it "raises an error if the data to be printed was not informed" do
- text.data = nil
- expect {
- text.to_zpl
- }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the data to be printed is not given")
- end
-
- it "contains the '^FB' command" do
- expect(text.to_zpl).to match /\^FB/
- end
-
- it "contains the attributes in correct order" do
- expect(text.to_zpl).to eq '^FWN^CF0,28^CI28^FO100,150^FB,4,,L,^FDfoobar^FS'
- end
-
- it "contains the properly duplicated attributes in correct order for bold text" do
- expect(text_bold.to_zpl).to eq '^FWN^CF0,28^CI28^FO102,150^FB,4,,L,^FDfoobar^FS^FWN^CF0,28^CI28^FO100,152^FB,4,,L,^FDfoobar^FS'
- end
-
- # it "assumes 1 as the default horizontal multipler" do
- # expect(text.to_zpl.split(",")[4].to_i).to eq Zebra::Zpl::HorizontalMultiplier::VALUE_1
- # end
- #
- # it "assumes 1 as the default vertical multiplier" do
- # expect(text.to_zpl.split(",")[5].to_i).to eq Zebra::Zpl::VerticalMultiplier::VALUE_1
- # end
- end
-end
+# encoding: utf-8
+require 'spec_helper'
+
+describe Zebra::Zpl::Text do
+ it "can be initialized with the position of the text to be printed" do
+ text = described_class.new position: [20, 40]
+ expect(text.position).to eq [20,40]
+ expect(text.x).to eq 20
+ expect(text.y).to eq 40
+ end
+
+ it "can be initialized with the text rotation" do
+ rotation = Zebra::Zpl::Rotation::DEGREES_90
+ text = described_class.new rotation: rotation
+ expect(text.rotation).to eq rotation
+ end
+
+ it "can be initialized with the font_size to be used" do
+ font_size = Zebra::Zpl::FontSize::SIZE_1
+ text = described_class.new font_size: font_size
+ expect(text.font_size).to eq font_size
+ end
+
+ it "can be initialized with the data to be printed" do
+ data = "foobar"
+ text = described_class.new data: data
+ expect(text.data).to eq data
+ end
+
+ it "can be initialized with the reverse_print" do
+ text = described_class.new reverse_print: true
+ expect(text.reverse_print).to eq true
+ end
+
+ describe "#rotation=" do
+ it "raises an error if the received rotation is invalid" do
+ expect {
+ described_class.new.rotation = 4
+ }.to raise_error(Zebra::Zpl::Rotation::InvalidRotationError)
+ end
+ end
+
+ describe "#font_size=" do
+ it "raises an error if the received font_size is invalid" do
+ expect {
+ described_class.new.font_size = -1
+ }.to raise_error(Zebra::Zpl::FontSize::InvalidFontSizeError)
+ expect {
+ described_class.new.font_size = 32001
+ }.to raise_error(Zebra::Zpl::FontSize::InvalidFontSizeError)
+ end
+ end
+
+ describe "#to_zpl" do
+ subject(:text) { described_class.new position: [100, 150], font_size: Zebra::Zpl::FontSize::SIZE_3, data: "foobar" }
+ subject(:text_bold) { described_class.new position: [100, 150], font_size: Zebra::Zpl::FontSize::SIZE_3, bold: true, data: "foobar" }
+ subject(:tokens) { text.to_zpl.split(/(\^[A-Z]+|\,)/).reject{ |e| ['', ',', nil].include?(e) } }
+
+ it "raises an error if the X position was not informed" do
+ text = described_class.new position: [nil, 100], data: "foobar"
+ expect {
+ text.to_zpl
+ }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the X value is not given")
+ end
+
+ it "raises an error if the Y position was not informed" do
+ text = described_class.new position: [100, nil]
+ expect {
+ text.to_zpl
+ }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the Y value is not given")
+ end
+
+ it "raises an error if the font_size is not informed" do
+ text = described_class.new position: [100, 100], data: "foobar"
+ expect {
+ text.to_zpl
+ }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the font_size to be used is not given")
+ end
+
+ it "raises an error if the data to be printed was not informed" do
+ text.data = nil
+ expect {
+ text.to_zpl
+ }.to raise_error(Zebra::Zpl::Printable::MissingAttributeError, "Can't print if the data to be printed is not given")
+ end
+
+ it "contains the '^FB' command" do
+ expect(text.to_zpl).to match /\^FB/
+ end
+
+ it "contains the attributes in correct order" do
+ expect(text.to_zpl).to eq '^FWN^A0,28^CI28^FO100,150^FB,4,,L,^FDfoobar^FS'
+ end
+
+ it "contains the properly duplicated attributes in correct order for bold text" do
+ expect(text_bold.to_zpl).to eq '^FWN^A0,28^CI28^FO101,150^FB,4,,L,^FDfoobar^FS^FWN^A0,28^CI28^FO100,151^FB,4,,L,^FDfoobar^FS'
+ end
+
+ it 'contains reverse print field on reverse_print mode' do
+ text = described_class.new position: [100, 100], font_size: Zebra::Zpl::FontSize::SIZE_3, data: "foobar", reverse_print: true
+
+ expect(text.to_zpl).to match /\^FR/
+ end
+
+ it 'does not have reverse print field if not specified' do
+ expect(text.to_zpl).to_not match /\^FR/
+ end
+ end
+end