File: border_spec.rb

package info (click to toggle)
ruby-rghost 0.9.9-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,188 kB
  • sloc: ruby: 3,374; makefile: 6; sh: 1
file content (49 lines) | stat: -rw-r--r-- 1,587 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# frozen_string_literal: true

RSpec.describe RGhost::Border do
  it "should to use default options when user doesn't use any" do
    ps_string = RGhost::Border.new.ps.to_s
    options = RGhost::Border::DEFAULT_OPTIONS

    color = RGhost::Color.create(options[:color])
    line_width = RGhost::LineWidth.new(options[:width])

    expect(ps_string).to match color.ps.to_s
    expect(ps_string).to match line_width.ps.to_s
    expect(ps_string).to match "#{options[:linejoin]} setlinejoin"
    expect(ps_string).to match "#{options[:linecap]} setlinecap"
  end

  it "should set color values" do
    border = RGhost::Border.new color: :red
    color = RGhost::Color.create(:red)
    expect(border.ps.to_s).to match color.ps.to_s

    border = RGhost::Border.new color: "#FF0033"
    color = RGhost::Color.create("#FF0033")
    expect(border.ps.to_s).to match color.ps.to_s
  end

  it "should set dash values" do
    dash_value = {style: [1, 1, 2, 1, 2, 1, 3], offset: 1}
    border = RGhost::Border.new dash: dash_value
    expect(border.ps.to_s).to match "setdash"

    dash = RGhost::Dash.new(dash_value)
    expect(border.ps.to_s).to include(dash.ps.to_s)

    border = RGhost::Border.new dash: false
    expect(border.ps.to_s).not_to match "setdash"
  end

  it "should set line width values" do
    border = RGhost::Border.new width: false
    expect(border.ps.to_s).not_to match "setlinewidth"

    border = RGhost::Border.new width: 1
    expect(border.ps.to_s).to match "setlinewidth"

    line = RGhost::Line.new(1)
    expect(border.ps.to_s).to include(line.ps.to_s)
  end
end