JSFiddle - React, Tailwind, and code Playground
JavaScript
sed_test_case_html_to_ruby() {
file_to_convert="$1"
header_number_of_lines="14"
printf "# File: $file_to_convert"
printf "\n\n"
cat $file_to_convert | tail +$header_number_of_lines |
sed '
/<td><\/td>/d
/<\/tr>/d
s/<tr>//
s/<td>//
s/<\/td>//
s/\${//
s/\${//
s/\}//
s/\}$//
s/<\!--<<<<</<<<<</
s/<\!-->>>>>/>>>>>/
s/-->$//
s/<\!--/#/
s/[[:space:]]//
s/^type$/fill_in/' |
sed 's/# #/#/' |
sed 's/^##/# /' |
sed '$d' | sed '$d' | sed '$d' | sed '$d' | sed '$d' | sed '$d' |
awk '{if($0=="click" || $0=="submitAndWait" || $0=="check" || $0=="open" || $0=="waitForElementPresent" || $0=="assertElementPresent" || $0=="waitForVisible" || $0=="clickAndWait" || $0=="pause" || $0=="submit" || $0 =="assertVisible")
{getline n;printf "%s(%s)\n", $0, n}else{print}}' |
awk '{if($0=="fill_in" || $0=="select"){getline n;getline n2; printf "%s(%s, %s)\n", $0, n, n2}else{print}}' |
sed '
/open(/ {
s/open(/visit("http:\/\/staging.everquote\//
s/)/")/
}' |
# We processed clickAndWait and submitAndWait for 2 parameters above
# Now we just rename them plus any no-param commands.
sed '
s/^waitForVisible/wait_for_visible/
s/^waitForElementPresent/wait_for_element_present/
s/^clickAndWait/click/
s/^submitAndWait/submit/
s/^storeConfirmation/close_alert_and_get_its_text/' |
sed '/^$/d' |
sed '/css=/ {
s/css=/css="/
s/)/")/
}' |
sed '/link=/ {
s/link=/link="/
s/)/")/
}' |
sed '/(\/\// {
s/\/\//"\/\//
s/)$/")/
}' |
sed '/fill_in(/ {
s/, )/, "")/
}' |
sed '/fill_in(/ {
s/, /, with: /
}' |
awk '{if ($1 ~ /^select/ ) {printf "SELECT(%s %s\n", $2, $1} else{print}}' |
sed '/^SELECT/ {
s/) select(/,/
s/,$/)/
s/,/, from: /
s/SELECT/select/
}' |
sed '/click(/ {
s/click(/find(/
s/)/).click/
}' |
awk '{if ($1 ~ /^>>>>>/ ) {printf "describe \"%s\" do ", $2;print ""} else{print}}' |
awk '{if ($1 ~ /^<<<<</ ) {printf "end";print ""} else{print}}' |
awk -F"(" '{if ($1 ~ /^assertVisible/ ) {printf "expect(%s to...