| # 05-eval.sh β CLI evaluate command | |
| source "$(dirname "$0")/common.sh" | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| start_test "pinchtab eval <expression>" | |
| pt_ok nav "${FIXTURES_URL}/index.html" | |
| pt_ok eval "1 + 1" | |
| assert_output_contains "2" "evaluates simple expression" | |
| end_test | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| start_test "pinchtab eval (DOM query)" | |
| pt_ok nav "${FIXTURES_URL}/form.html" | |
| pt_ok eval "document.title" | |
| assert_output_contains "Form" "returns page title" | |
| end_test | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| start_test "pinchtab eval (JSON result)" | |
| pt_ok eval 'JSON.stringify({a: 1, b: 2})' | |
| # Output is {"result": "{\"a\":1,\"b\":2}"} - escaped JSON | |
| assert_output_contains 'a' "returns JSON object" | |
| assert_output_contains 'b' "contains both keys" | |
| end_test | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| start_test "pinchtab eval --tab <tabId> <expression>" | |
| pt_ok nav "${FIXTURES_URL}/buttons.html" | |
| TAB_ID=$(echo "$PT_OUT" | jq -r '.tabId') | |
| pt_ok eval "document.title" --tab "$TAB_ID" | |
| assert_output_contains "Button" "evaluates in correct tab" | |
| end_test | |