Skip to content

Commit

Permalink
more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jreidinger committed Nov 16, 2017
1 parent 280d0e8 commit 16b87ec
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 1 deletion.
2 changes: 1 addition & 1 deletion library/general/src/lib/yast2/popup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class Popup
class << self
include Yast::I18n

# Number of lines for richtext: :auto to switch to richtext widget
# Number of lines to switch to richtext widget for richtext: false
LINES_THRESHOLD = 20

RICHTEXT_WIDTH = 60
Expand Down
109 changes: 109 additions & 0 deletions library/general/test/yast2/popup_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -165,5 +165,114 @@
subject.show("<b>test</b>\n" * 50)
end
end

context "richtext parameter is true" do
it "always shows message in RichText widget" do
expect(ui).to receive(:OpenDialog) do |_opts, content|
widget = content.nested_find do |w|
w.is_a?(Yast::Term) &&
w.value == :RichText &&
w.params.include?("test")
end
expect(widget).to_not eq nil

true
end

subject.show("test", richtext: true)
end

it "interprets richtext tags" do
expect(ui).to receive(:OpenDialog) do |_opts, content|
widget = content.nested_find do |w|
w.is_a?(Yast::Term) &&
w.value == :RichText &&
w.params.include?("<b>test</b>")
end
expect(widget).to_not eq nil

true
end

subject.show("<b>test</b>", richtext: true)
end
end

context "headline parameter is non-empty" do
it "shows Heading with given text" do
expect(ui).to receive(:OpenDialog) do |_opts, content|
widget = content.nested_find do |w|
w.is_a?(Yast::Term) &&
w.value == :Heading &&
w.params.include?("Head")
end
expect(widget).to_not eq nil

true
end

subject.show("test", headline: "Head")
end
end

context "timeout parameter is non-zero" do
before do
allow(ui).to receive(:TimeoutUserInput).and_return(:cancel)
end

it "shows Stop button" do
expect(ui).to receive(:OpenDialog) do |_opts, content|
widget = content.nested_find do |w|
w.is_a?(Yast::Term) &&
w.value == :PushButton &&
w.params.include?("&Stop")
end
expect(widget).to_not eq nil

true
end

subject.show("test", timeout: 5)
end

it "shows remaining time" do
expect(ui).to receive(:OpenDialog) do |_opts, content|
widget = content.nested_find do |w|
w.is_a?(Yast::Term) &&
w.value == :Label &&
w.params.include?("5")
end
expect(widget).to_not eq nil

true
end

subject.show("test", timeout: 5)
end

it "update remaining time every second" do
expect(ui).to receive(:TimeoutUserInput).and_return(:timeout, :cancel).twice

expect(ui).to receive(:ChangeWidget)

subject.show("test", timeout: 5)
end
end

context "style parameter is set" do
it "pass style to Dialog options" do
expect(ui).to receive(:OpenDialog) do |opts, _content|
expect(opts).to eq Yast::Term.new(:opt, :warncolor)

true
end

subject.show("test", style: :warning)
end

it "raises ArgumentError if unknown value is passed" do
expect { subject.show("test", style: :unknown) }.to raise_error(ArgumentError)
end
end
end
end

0 comments on commit 16b87ec

Please sign in to comment.