Thanks for your help, Ben!
I am confused on your assert_equal method:
assert_equal a.gsub(/['"]/, ''), b.gsub(/['"]/, '')
Is /['"]/ will strip out the quotes when comparing?
My assert_equal method:
assert_equal(arr[0],$ie.frame("top").select_list(:name,"site_id").getAll
Contents)
1. The portion arr[0] is from the read in external file.
2. $ie.frame("top").select_list(:name,"site_id"). is from the dropdown
list application
=======================================
This is the csv external file dropList.csv contain:
:: Select Site :: !!Eastgate_Mall
--------------------------------------
I think my actual problem is when reading into an array and compare, it
did not separate :: Select Site :: as one field and ::
!!Eastgate_Mall to another field for double quotes
That why the expect is <[":: Select Site ::,!!Eastgate_Mall,,,,,\n"]
( missing separate double quotes)
Instead of <[":: Select Site ::", "!!Eastgate_Mall"]>.
-----------------
Thanks for your help!
-----Original Message-----
From: Ben Bleything [mailto:ben / bleything.net]
Sent: Wednesday, August 23, 2006 9:50 AM
To: ruby-talk ML
Subject: Re: How do I strip off the extra double quote or white space in
the string when using assert_equal method
On Thu, Aug 24, 2006, Ban Hoang wrote:
> I try to read in an external file to array and compare them to the
drop
> down list in our application. I got into the problem when comparing,
the
> extra double quotes make the assertion result failed. Can anyone help
me
> to make it work?
A couple of options:
1) If your external file is truly CSV (comma-separated values) use a CSV
parser to parse it. Though, from your example, it doesn't seem to be
the case... here's some code anyway.
.....
require 'csv'
rows = []
CSV.open('dropList.csv', 'r') do |row|
rows << row
end
.....
Then compare the parsed rows against your dropdown array.
2) Write your own assertion:
.....
def assert_equal_without_quotes(a,b)
assert_equal a.gsub(/['"]/, ''), b.gsub(/['"]/, '')
end
.....
Untested, but that might work ;)
Ben