spec/watirspec/elements/option_spec.rb in watir-6.10.1 vs spec/watirspec/elements/option_spec.rb in watir-6.10.2
- old
+ new
@@ -1,121 +1,121 @@
-require "watirspec_helper"
-
-describe "Option" do
-
- before :each do
- browser.goto(WatirSpec.url_for("forms_with_input_elements.html"))
- end
-
- describe "#exists?" do
- it "returns true if the element exists (page context)" do
- expect(browser.option(id: "nor")).to exist
- expect(browser.option(id: /nor/)).to exist
- expect(browser.option(value: "2")).to exist
- expect(browser.option(value: /2/)).to exist
- expect(browser.option(text: "Norway")).to exist
- expect(browser.option(text: /Norway/)).to exist
- expect(browser.option(class: "scandinavia")).to exist
- expect(browser.option(index: 1)).to exist
- expect(browser.option(xpath: "//option[@id='nor']")).to exist
- end
-
- it "returns the first option if given no args" do
- expect(browser.option).to exist
- end
-
- it "returns true if the element exists (select_list context)" do
- expect(browser.select_list(name: "new_user_country").option(id: "nor")).to exist
- expect(browser.select_list(name: "new_user_country").option(id: /nor/)).to exist
- expect(browser.select_list(name: "new_user_country").option(value: "2")).to exist
- expect(browser.select_list(name: "new_user_country").option(value: /2/)).to exist
- expect(browser.select_list(name: "new_user_country").option(text: "Norway")).to exist
- expect(browser.select_list(name: "new_user_country").option(text: /Norway/)).to exist
- expect(browser.select_list(name: "new_user_country").option(class: "scandinavia")).to exist
- expect(browser.select_list(name: "new_user_country").option(index: 1)).to exist
- expect(browser.select_list(name: "new_user_country").option(xpath: "//option[@id='nor']")).to exist
- expect(browser.select_list(name: "new_user_country").option(label: "Germany")).to exist
- end
-
- it "returns false if the element does not exist (page context)" do
- expect(browser.option(id: "no_such_id")).to_not exist
- expect(browser.option(id: /no_such_id/)).to_not exist
- expect(browser.option(value: "no_such_value")).to_not exist
- expect(browser.option(value: /no_such_value/)).to_not exist
- expect(browser.option(text: "no_such_text")).to_not exist
- expect(browser.option(text: /no_such_text/)).to_not exist
- expect(browser.option(class: "no_such_class")).to_not exist
- expect(browser.option(index: 1337)).to_not exist
- expect(browser.option(xpath: "//option[@id='no_such_id']")).to_not exist
- end
-
- it "returns false if the element does not exist (select_list context)" do
- expect(browser.select_list(name: "new_user_country").option(id: "no_such_id")).to_not exist
- expect(browser.select_list(name: "new_user_country").option(id: /no_such_id/)).to_not exist
- expect(browser.select_list(name: "new_user_country").option(value: "no_such_value")).to_not exist
- expect(browser.select_list(name: "new_user_country").option(value: /no_such_value/)).to_not exist
- expect(browser.select_list(name: "new_user_country").option(text: "no_such_text")).to_not exist
- expect(browser.select_list(name: "new_user_country").option(text: /no_such_text/)).to_not exist
- expect(browser.select_list(name: "new_user_country").option(class: "no_such_class")).to_not exist
- expect(browser.select_list(name: "new_user_country").option(index: 1337)).to_not exist
- expect(browser.select_list(name: "new_user_country").option(xpath: "//option[@id='no_such_id']")).to_not exist
- end
-
- it "raises TypeError when 'what' argument is invalid" do
- expect { browser.option(id: 3.14).exists? }.to raise_error(TypeError)
- expect { browser.select_list(name: "new_user_country").option(id: 3.14).exists? }.to raise_error(TypeError)
- end
- end
-
- describe "#select" do
- not_compliant_on :safari do
- it "selects the chosen option (page context)" do
- browser.option(text: "Denmark").select
- expect(browser.select_list(name: "new_user_country").selected_options.map(&:text)).to eq ["Denmark"]
- end
-
- it "selects the chosen option (select_list context)" do
- browser.select_list(name: "new_user_country").option(text: "Denmark").select
- expect(browser.select_list(name: "new_user_country").selected_options.map(&:text)).to eq ["Denmark"]
- end
-
- it "selects the option when found by text (page context)" do
- browser.option(text: 'Sweden').select
- expect(browser.option(text: 'Sweden')).to be_selected
- end
-
- it "selects the option when found by text (select_list context)" do
- browser.select_list(name: 'new_user_country').option(text: 'Sweden').select
- expect(browser.select_list(name: 'new_user_country').option(text: 'Sweden')).to be_selected
- end
- end
-
- it "raises UnknownObjectException if the option does not exist (page context)" do
- expect { browser.option(text: "no_such_text").select }.to raise_unknown_object_exception
- expect { browser.option(text: /missing/).select }.to raise_unknown_object_exception
- end
-
- it "raises UnknownObjectException if the option does not exist (select_list context)" do
- expect { browser.select_list(name: "new_user_country").option(text: "no_such_text").select }.to raise_unknown_object_exception
- expect { browser.select_list(name: "new_user_country").option(text: /missing/).select }.to raise_unknown_object_exception
- end
- end
-
- describe "#class_name" do
- it "is able to get attributes (page context)" do
- expect(browser.option(text: 'Sweden').class_name).to eq "scandinavia"
- end
-
- it "is able to get attributes (select_list context)" do
- expect(browser.select_list(name: "new_user_country").option(text: 'Sweden').class_name).to eq "scandinavia"
- end
- end
-
- describe "#respond_to?" do
- it "returns true for all attribute methods" do
- expect(browser.select_list(name: "new_user_country").option(text: 'Sweden')).to respond_to(:class_name)
- expect(browser.select_list(name: "new_user_country").option(text: 'Sweden')).to respond_to(:id)
- expect(browser.select_list(name: "new_user_country").option(text: 'Sweden')).to respond_to(:text)
- end
- end
-
-end
+require "watirspec_helper"
+
+describe "Option" do
+
+ before :each do
+ browser.goto(WatirSpec.url_for("forms_with_input_elements.html"))
+ end
+
+ describe "#exists?" do
+ it "returns true if the element exists (page context)" do
+ expect(browser.option(id: "nor")).to exist
+ expect(browser.option(id: /nor/)).to exist
+ expect(browser.option(value: "2")).to exist
+ expect(browser.option(value: /2/)).to exist
+ expect(browser.option(text: "Norway")).to exist
+ expect(browser.option(text: /Norway/)).to exist
+ expect(browser.option(class: "scandinavia")).to exist
+ expect(browser.option(index: 1)).to exist
+ expect(browser.option(xpath: "//option[@id='nor']")).to exist
+ end
+
+ it "returns the first option if given no args" do
+ expect(browser.option).to exist
+ end
+
+ it "returns true if the element exists (select_list context)" do
+ expect(browser.select_list(name: "new_user_country").option(id: "nor")).to exist
+ expect(browser.select_list(name: "new_user_country").option(id: /nor/)).to exist
+ expect(browser.select_list(name: "new_user_country").option(value: "2")).to exist
+ expect(browser.select_list(name: "new_user_country").option(value: /2/)).to exist
+ expect(browser.select_list(name: "new_user_country").option(text: "Norway")).to exist
+ expect(browser.select_list(name: "new_user_country").option(text: /Norway/)).to exist
+ expect(browser.select_list(name: "new_user_country").option(class: "scandinavia")).to exist
+ expect(browser.select_list(name: "new_user_country").option(index: 1)).to exist
+ expect(browser.select_list(name: "new_user_country").option(xpath: "//option[@id='nor']")).to exist
+ expect(browser.select_list(name: "new_user_country").option(label: "Germany")).to exist
+ end
+
+ it "returns false if the element does not exist (page context)" do
+ expect(browser.option(id: "no_such_id")).to_not exist
+ expect(browser.option(id: /no_such_id/)).to_not exist
+ expect(browser.option(value: "no_such_value")).to_not exist
+ expect(browser.option(value: /no_such_value/)).to_not exist
+ expect(browser.option(text: "no_such_text")).to_not exist
+ expect(browser.option(text: /no_such_text/)).to_not exist
+ expect(browser.option(class: "no_such_class")).to_not exist
+ expect(browser.option(index: 1337)).to_not exist
+ expect(browser.option(xpath: "//option[@id='no_such_id']")).to_not exist
+ end
+
+ it "returns false if the element does not exist (select_list context)" do
+ expect(browser.select_list(name: "new_user_country").option(id: "no_such_id")).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(id: /no_such_id/)).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(value: "no_such_value")).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(value: /no_such_value/)).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(text: "no_such_text")).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(text: /no_such_text/)).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(class: "no_such_class")).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(index: 1337)).to_not exist
+ expect(browser.select_list(name: "new_user_country").option(xpath: "//option[@id='no_such_id']")).to_not exist
+ end
+
+ it "raises TypeError when 'what' argument is invalid" do
+ expect { browser.option(id: 3.14).exists? }.to raise_error(TypeError)
+ expect { browser.select_list(name: "new_user_country").option(id: 3.14).exists? }.to raise_error(TypeError)
+ end
+ end
+
+ describe "#select" do
+ not_compliant_on :safari do
+ it "selects the chosen option (page context)" do
+ browser.option(text: "Denmark").select
+ expect(browser.select_list(name: "new_user_country").selected_options.map(&:text)).to eq ["Denmark"]
+ end
+
+ it "selects the chosen option (select_list context)" do
+ browser.select_list(name: "new_user_country").option(text: "Denmark").select
+ expect(browser.select_list(name: "new_user_country").selected_options.map(&:text)).to eq ["Denmark"]
+ end
+
+ it "selects the option when found by text (page context)" do
+ browser.option(text: 'Sweden').select
+ expect(browser.option(text: 'Sweden')).to be_selected
+ end
+
+ it "selects the option when found by text (select_list context)" do
+ browser.select_list(name: 'new_user_country').option(text: 'Sweden').select
+ expect(browser.select_list(name: 'new_user_country').option(text: 'Sweden')).to be_selected
+ end
+ end
+
+ it "raises UnknownObjectException if the option does not exist (page context)" do
+ expect { browser.option(text: "no_such_text").select }.to raise_unknown_object_exception
+ expect { browser.option(text: /missing/).select }.to raise_unknown_object_exception
+ end
+
+ it "raises UnknownObjectException if the option does not exist (select_list context)" do
+ expect { browser.select_list(name: "new_user_country").option(text: "no_such_text").select }.to raise_unknown_object_exception
+ expect { browser.select_list(name: "new_user_country").option(text: /missing/).select }.to raise_unknown_object_exception
+ end
+ end
+
+ describe "#class_name" do
+ it "is able to get attributes (page context)" do
+ expect(browser.option(text: 'Sweden').class_name).to eq "scandinavia"
+ end
+
+ it "is able to get attributes (select_list context)" do
+ expect(browser.select_list(name: "new_user_country").option(text: 'Sweden').class_name).to eq "scandinavia"
+ end
+ end
+
+ describe "#respond_to?" do
+ it "returns true for all attribute methods" do
+ expect(browser.select_list(name: "new_user_country").option(text: 'Sweden')).to respond_to(:class_name)
+ expect(browser.select_list(name: "new_user_country").option(text: 'Sweden')).to respond_to(:id)
+ expect(browser.select_list(name: "new_user_country").option(text: 'Sweden')).to respond_to(:text)
+ end
+ end
+
+end