Searching for 'e' in 'Some sample text that can be searched' with selection enabled:
PASS testRunner.findString('e', []) is true

Searching for 'o' in 'Some sample text that can be searched' with selection enabled:
PASS testRunner.findString('o', []) is true

Searching for 'y' in 'Some sample text that can be searched' with selection enabled:
PASS testRunner.findString('y', []) is false

Searching for 't t' in 'Some sample text that can be searched' with selection enabled:
PASS testRunner.findString('t t', []) is true

Searching for 'mount' in 'insurmountable mountain' with selection enabled:
PASS testRunner.findString('mount', []) is true

Searching for 'Wally' in 'insurmountable mountain' with selection enabled:
PASS testRunner.findString('Wally', []) is false

Searching for 'e' in 'Some sample text that can be searched' with selection disabled:
PASS testRunner.findString('e', []) is true

Searching for 'o' in 'Some sample text that can be searched' with selection disabled:
PASS testRunner.findString('o', []) is true

Searching for 'y' in 'Some sample text that can be searched' with selection disabled:
PASS testRunner.findString('y', []) is false

Searching for 't t' in 'Some sample text that can be searched' with selection disabled:
PASS testRunner.findString('t t', []) is true

Searching for 'mount' in 'insurmountable mountain' with selection disabled:
PASS testRunner.findString('mount', []) is true

Searching for 'Wally' in 'insurmountable mountain' with selection disabled:
PASS testRunner.findString('Wally', []) is false

PASS successfullyParsed is true

TEST COMPLETE

