Test that an NCName and * are interpreted as an operator when in binary operator context, and as a NameTest otherwise.

See bug 50366: XPath lexer misinterprets expression starting with "div".

PASS div
PASS   div
PASS (div) div (div)
PASS self::node()[div] div 1
PASS . div .
PASS .. div ..
PASS string(div/@div)
PASS substring-before('1992', div)
PASS self::div
PASS * div 4
PASS '3' div 4
PASS "3" div 4
PASS 12 div 4
PASS true() and div
PASS false() or div
PASS div mod div
PASS div div div
PASS 3 * div
PASS div/div
PASS div//div
PASS zz|div
PASS div+div
PASS - - div
PASS 5 -div
PASS div=div
PASS div!=div
PASS div<div
PASS div<=div
PASS div>div
PASS div>=div
PASS *
PASS   *
PASS (*) * (*)
PASS self::node()[*] * 1
PASS . * .
PASS .. * ..
PASS substring-before('1992', *)
PASS self::*
PASS * * 4
PASS '3' * 4
PASS "3" * 4
PASS 12 * 4
PASS true() and *
PASS false() or *
PASS * mod *
PASS * div *
PASS 3 * *
PASS */*
PASS *//*
PASS zz|*
PASS *+*
PASS - - *
PASS 5 -*
PASS *=*
PASS *!=*
PASS *<*
PASS *<=*
PASS *>*
PASS *>=*
PASS or:or
PASS or:*
PASS mod
PASS mod mod mod
PASS (mod) mod 5
PASS string(mod/@and)
PASS successfullyParsed is true

TEST COMPLETE

