diff options
author | Jo Asplin <jo.asplin@nokia.com> | 2011-10-20 13:17:26 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-20 19:45:41 +0200 |
commit | 9f1aa866bda7678261f2f441d4cfd5bb524c2411 (patch) | |
tree | 5028f578122e7feb9200d571405494c73d96db89 /tests/auto/widgets/widgets/qtextbrowser | |
parent | 78d02e93aca5325fc5be9bfd275862795207abaa (diff) | |
download | qtbase-9f1aa866bda7678261f2f441d4cfd5bb524c2411.tar.gz |
Moved tests into integrationtests/ and widgets/
Task-number: QTBUG-19013
Change-Id: Ibb776f5967c0645ce6d22ef7afdc40657c575461
Reviewed-by: Holger Ihrig <holger.ihrig@nokia.com>
Diffstat (limited to 'tests/auto/widgets/widgets/qtextbrowser')
12 files changed, 1641 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qtextbrowser/.gitignore b/tests/auto/widgets/widgets/qtextbrowser/.gitignore new file mode 100644 index 0000000000..1ec6f00de1 --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/.gitignore @@ -0,0 +1 @@ +tst_qtextbrowser diff --git a/tests/auto/widgets/widgets/qtextbrowser/anchor.html b/tests/auto/widgets/widgets/qtextbrowser/anchor.html new file mode 100644 index 0000000000..e347a2bb4c --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/anchor.html @@ -0,0 +1,11 @@ +<html> +<head> +<title>Sample Anchor</title> +</head> +<body> +<p><a href="file.html#anchor">Click Me!</a></p> +<p> +<a name="jumphere"></a>Here's a destination to jump to. +</p> +</body> +</html> diff --git a/tests/auto/widgets/widgets/qtextbrowser/bigpage.html b/tests/auto/widgets/widgets/qtextbrowser/bigpage.html new file mode 100644 index 0000000000..125c7a096e --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/bigpage.html @@ -0,0 +1,934 @@ +<html><body> +<p> +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +Blah blah blah blah blah blah blah blah blah +</p> +<p id="id-anchor">Paragraph with id</p> +<a name="bottom"></a>Here's the bottom of the page. +</body></html> diff --git a/tests/auto/widgets/widgets/qtextbrowser/firstpage.html b/tests/auto/widgets/widgets/qtextbrowser/firstpage.html new file mode 100644 index 0000000000..fa35fce92c --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/firstpage.html @@ -0,0 +1,2 @@ +<p> Blah blah <a href="secondpage.html">Link to second page</a> blah +<p> Another link here: <a href="thirdpage.html">Link to third page</a> diff --git a/tests/auto/widgets/widgets/qtextbrowser/pagewithbg.html b/tests/auto/widgets/widgets/qtextbrowser/pagewithbg.html new file mode 100644 index 0000000000..07609a2b06 --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/pagewithbg.html @@ -0,0 +1 @@ +<html><title>Page With BG</title><body bgcolor="blue">This page has a blue background</body></html> diff --git a/tests/auto/widgets/widgets/qtextbrowser/pagewithimage.html b/tests/auto/widgets/widgets/qtextbrowser/pagewithimage.html new file mode 100644 index 0000000000..49060d3792 --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/pagewithimage.html @@ -0,0 +1 @@ +<p><img src="foobar.png"/></p> diff --git a/tests/auto/widgets/widgets/qtextbrowser/pagewithoutbg.html b/tests/auto/widgets/widgets/qtextbrowser/pagewithoutbg.html new file mode 100644 index 0000000000..5a7f9f592b --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/pagewithoutbg.html @@ -0,0 +1 @@ +<html><body>This page has no background color</body></html> diff --git a/tests/auto/widgets/widgets/qtextbrowser/qtextbrowser.pro b/tests/auto/widgets/widgets/qtextbrowser/qtextbrowser.pro new file mode 100644 index 0000000000..ae5177686b --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/qtextbrowser.pro @@ -0,0 +1,15 @@ +load(qttest_p4) +SOURCES += tst_qtextbrowser.cpp +DEFINES += SRCDIR=\\\"$$PWD\\\" + +QT += widgets + +wince* { + addFiles.files = *.html + addFiles.path = . + addDir.files = subdir/* + addDir.path = subdir + DEPLOYMENT += addFiles addDir +} + +CONFIG+=insignificant_test diff --git a/tests/auto/widgets/widgets/qtextbrowser/secondpage.html b/tests/auto/widgets/widgets/qtextbrowser/secondpage.html new file mode 100644 index 0000000000..39018a71b2 --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/secondpage.html @@ -0,0 +1 @@ +<p>blub blub <a href="thirdpage.html">Link to third page from second page</a> diff --git a/tests/auto/widgets/widgets/qtextbrowser/subdir/index.html b/tests/auto/widgets/widgets/qtextbrowser/subdir/index.html new file mode 100644 index 0000000000..95593cc925 --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/subdir/index.html @@ -0,0 +1 @@ +This is a dummy, do not remove me! diff --git a/tests/auto/widgets/widgets/qtextbrowser/thirdpage.html b/tests/auto/widgets/widgets/qtextbrowser/thirdpage.html new file mode 100644 index 0000000000..215dc08aa0 --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/thirdpage.html @@ -0,0 +1 @@ +<p>this is the third page... diff --git a/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp new file mode 100644 index 0000000000..a1592e5e2b --- /dev/null +++ b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp @@ -0,0 +1,672 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> +#include <qtextbrowser.h> +#include <qdatetime.h> +#include <qapplication.h> +#include <qscrollbar.h> + +#include <qtextbrowser.h> +#include <qtextobject.h> + +//TESTED_CLASS= +//TESTED_FILES= + +class TestBrowser : public QTextBrowser +{ +public: + inline TestBrowser() : htmlLoadAttempts(0) { + show(); + QApplication::setActiveWindow(this); + QTest::qWaitForWindowShown(this); + activateWindow(); + setFocus(); + QTest::qWait(50); + QTRY_VERIFY(hasFocus()); + } + + virtual QVariant loadResource(int type, const QUrl &name); + + int htmlLoadAttempts; + QUrl lastResource; + QUrl sourceInsideLoadResource; +}; + +QVariant TestBrowser::loadResource(int type, const QUrl &name) +{ + if (type == QTextDocument::HtmlResource) + htmlLoadAttempts++; + lastResource = name; + sourceInsideLoadResource = source(); + return QTextBrowser::loadResource(type, name); +} + +class tst_QTextBrowser : public QObject +{ + Q_OBJECT +public: + tst_QTextBrowser(); + virtual ~tst_QTextBrowser(); + +public slots: + void init(); + void cleanup(); + +private slots: + void noReloadOnAnchorJump(); + void bgColorOnSourceChange(); + void forwardButton(); + void viewportPositionInHistory(); + void relativeLinks(); + void anchors(); + void resourceAutoDetection(); + void forwardBackwardAvailable(); + void clearHistory(); + void sourceInsideLoadResource(); + void textInteractionFlags_vs_readOnly(); + void anchorsWithSelfBuiltHtml(); + void relativeNonLocalUrls(); + void adjacentAnchors(); + void loadResourceOnRelativeLocalFiles(); + void focusIndicator(); + void focusHistory(); + void urlEncoding(); + +private: + TestBrowser *browser; +}; + +tst_QTextBrowser::tst_QTextBrowser() +{ +} + +tst_QTextBrowser::~tst_QTextBrowser() +{ +} +void tst_QTextBrowser::init() +{ +#if !defined(Q_OS_IRIX) && !defined(Q_OS_WINCE) + QDir::setCurrent(SRCDIR); +#endif + browser = new TestBrowser; + browser->show(); +} + +void tst_QTextBrowser::cleanup() +{ + delete browser; + browser = 0; +} + +void tst_QTextBrowser::noReloadOnAnchorJump() +{ + QUrl url("anchor.html"); + + browser->htmlLoadAttempts = 0; + browser->setSource(url); + QCOMPARE(browser->htmlLoadAttempts, 1); + QVERIFY(!browser->toPlainText().isEmpty()); + + url.setFragment("jumphere"); // anchor.html#jumphere + browser->setSource(url); + QCOMPARE(browser->htmlLoadAttempts, 1); + QVERIFY(!browser->toPlainText().isEmpty()); + QVERIFY(browser->source() == url); +} + +void tst_QTextBrowser::bgColorOnSourceChange() +{ + browser->setSource(QUrl("pagewithbg.html")); + QVERIFY(browser->document()->rootFrame()->frameFormat().hasProperty(QTextFormat::BackgroundBrush)); + QVERIFY(browser->document()->rootFrame()->frameFormat().background().color() == Qt::blue); + + browser->setSource(QUrl("pagewithoutbg.html")); + QVERIFY(!browser->document()->rootFrame()->frameFormat().hasProperty(QTextFormat::BackgroundBrush)); +} + +void tst_QTextBrowser::forwardButton() +{ + QSignalSpy forwardEmissions(browser, SIGNAL(forwardAvailable(bool))); + QSignalSpy backwardEmissions(browser, SIGNAL(backwardAvailable(bool))); + + QVERIFY(browser->historyTitle(-1).isEmpty()); + QVERIFY(browser->historyTitle(0).isEmpty()); + QVERIFY(browser->historyTitle(1).isEmpty()); + + browser->setSource(QUrl("pagewithbg.html")); + + QVERIFY(!forwardEmissions.isEmpty()); + QVariant val = forwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == false); + + QVERIFY(!backwardEmissions.isEmpty()); + val = backwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == false); + + QVERIFY(browser->historyTitle(-1).isEmpty()); + QCOMPARE(browser->historyUrl(0), QUrl("pagewithbg.html")); + QCOMPARE(browser->documentTitle(), QString("Page With BG")); + QCOMPARE(browser->historyTitle(0), QString("Page With BG")); + QVERIFY(browser->historyTitle(1).isEmpty()); + + browser->setSource(QUrl("anchor.html")); + + QVERIFY(!forwardEmissions.isEmpty()); + val = forwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == false); + + QVERIFY(!backwardEmissions.isEmpty()); + val = backwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == true); + + QCOMPARE(browser->historyTitle(-1), QString("Page With BG")); + QCOMPARE(browser->historyTitle(0), QString("Sample Anchor")); + QVERIFY(browser->historyTitle(1).isEmpty()); + + browser->backward(); + + QVERIFY(!forwardEmissions.isEmpty()); + val = forwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == true); + + QVERIFY(!backwardEmissions.isEmpty()); + val = backwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == false); + + QVERIFY(browser->historyTitle(-1).isEmpty()); + QCOMPARE(browser->historyTitle(0), QString("Page With BG")); + QCOMPARE(browser->historyTitle(1), QString("Sample Anchor")); + + browser->setSource(QUrl("pagewithoutbg.html")); + + QVERIFY(!forwardEmissions.isEmpty()); + val = forwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == false); + + QVERIFY(!backwardEmissions.isEmpty()); + val = backwardEmissions.takeLast()[0]; + QVERIFY(val.type() == QVariant::Bool); + QVERIFY(val.toBool() == true); +} + +void tst_QTextBrowser::viewportPositionInHistory() +{ + browser->setSource(QUrl("bigpage.html")); + browser->scrollToAnchor("bottom"); + QVERIFY(browser->verticalScrollBar()->value() > 0); + + browser->setSource(QUrl("pagewithbg.html")); + QCOMPARE(browser->verticalScrollBar()->value(), 0); + + browser->backward(); + QVERIFY(browser->verticalScrollBar()->value() > 0); +} + +void tst_QTextBrowser::relativeLinks() +{ + qRegisterMetaType<QUrl>("QUrl"); + QSignalSpy sourceChangedSpy(browser, SIGNAL(sourceChanged(const QUrl &))); + browser->setSource(QUrl("../qtextbrowser.html")); + QVERIFY(sourceChangedSpy.count() == 1); + QCOMPARE(sourceChangedSpy.takeFirst()[0].toUrl(), QUrl("../qtextbrowser.html")); + browser->setSource(QUrl("qtextbrowser/subdir/index.html")); + QVERIFY(sourceChangedSpy.count() == 1); + QCOMPARE(sourceChangedSpy.takeFirst()[0].toUrl(), QUrl("qtextbrowser/subdir/index.html")); + browser->setSource(QUrl("../anchor.html")); + QVERIFY(sourceChangedSpy.count() == 1); + QCOMPARE(sourceChangedSpy.takeFirst()[0].toUrl(), QUrl("../anchor.html")); + browser->setSource(QUrl("subdir/index.html")); + QVERIFY(sourceChangedSpy.count() == 1); + QCOMPARE(sourceChangedSpy.takeFirst()[0].toUrl(), QUrl("subdir/index.html")); + + // using QUrl::fromLocalFile() + browser->setSource(QUrl::fromLocalFile("anchor.html")); + QVERIFY(sourceChangedSpy.count() == 1); + QCOMPARE(sourceChangedSpy.takeFirst()[0].toUrl(), QUrl("file:anchor.html")); + browser->setSource(QUrl("../qtextbrowser.html")); + QVERIFY(sourceChangedSpy.count() == 1); + QCOMPARE(sourceChangedSpy.takeFirst()[0].toUrl(), QUrl("../qtextbrowser.html")); +} + +void tst_QTextBrowser::anchors() +{ + browser->setSource(QUrl("bigpage.html")); + browser->setSource(QUrl("#bottom")); + QVERIFY(browser->verticalScrollBar()->value() > 0); + + browser->setSource(QUrl("bigpage.html")); + browser->setSource(QUrl("#id-anchor")); + QVERIFY(browser->verticalScrollBar()->value() > 0); +} + +void tst_QTextBrowser::resourceAutoDetection() +{ + browser->setHtml("<img src=\":/some/resource\"/>"); + QCOMPARE(browser->lastResource.toString(), QString("qrc:/some/resource")); +} + +void tst_QTextBrowser::forwardBackwardAvailable() +{ + QSignalSpy backwardSpy(browser, SIGNAL(backwardAvailable(bool))); + QSignalSpy forwardSpy(browser, SIGNAL(forwardAvailable(bool))); + + QVERIFY(!browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + + browser->setSource(QUrl("anchor.html")); + QVERIFY(!browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(!backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->setSource(QUrl("bigpage.html")); + QVERIFY(browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->setSource(QUrl("pagewithbg.html")); + QVERIFY(browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->backward(); + QVERIFY(browser->isBackwardAvailable()); + QVERIFY(browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->backward(); + QVERIFY(!browser->isBackwardAvailable()); + QVERIFY(browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(!backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->forward(); + QVERIFY(browser->isBackwardAvailable()); + QVERIFY(browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->forward(); + QVERIFY(browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); +} + +void tst_QTextBrowser::clearHistory() +{ + QSignalSpy backwardSpy(browser, SIGNAL(backwardAvailable(bool))); + QSignalSpy forwardSpy(browser, SIGNAL(forwardAvailable(bool))); + + QVERIFY(!browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + + browser->clearHistory(); + QVERIFY(!browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(!backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + QVERIFY(browser->historyTitle(-1).isEmpty()); + QVERIFY(browser->historyTitle(0).isEmpty()); + QVERIFY(browser->historyTitle(1).isEmpty()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->setSource(QUrl("anchor.html")); + QVERIFY(!browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(!backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->setSource(QUrl("bigpage.html")); + QVERIFY(browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + + backwardSpy.clear(); + forwardSpy.clear(); + + browser->clearHistory(); + QVERIFY(!browser->isBackwardAvailable()); + QVERIFY(!browser->isForwardAvailable()); + QCOMPARE(backwardSpy.count(), 1); + QVERIFY(!backwardSpy.at(0).at(0).toBool()); + QCOMPARE(forwardSpy.count(), 1); + QVERIFY(!forwardSpy.at(0).at(0).toBool()); + QVERIFY(browser->historyTitle(-1).isEmpty()); + QVERIFY(browser->historyTitle(1).isEmpty()); + + QCOMPARE(browser->source(), QUrl("bigpage.html")); + browser->backward(); + QCOMPARE(browser->source(), QUrl("bigpage.html")); + browser->home(); + QCOMPARE(browser->source(), QUrl("bigpage.html")); +} + +void tst_QTextBrowser::sourceInsideLoadResource() +{ + QUrl url("pagewithimage.html"); + browser->setSource(url); + QCOMPARE(browser->lastResource.toString(), QUrl::fromLocalFile(QDir::current().filePath("foobar.png")).toString()); + QEXPECT_FAIL("", "This is currently not supported", Continue); + QCOMPARE(browser->sourceInsideLoadResource.toString(), url.toString()); +} + +void tst_QTextBrowser::textInteractionFlags_vs_readOnly() +{ + QVERIFY(browser->isReadOnly()); + QVERIFY(browser->textInteractionFlags() == Qt::TextBrowserInteraction); + browser->setReadOnly(true); + QVERIFY(browser->textInteractionFlags() == Qt::TextBrowserInteraction); + browser->setReadOnly(false); + QVERIFY(browser->textInteractionFlags() == Qt::TextEditorInteraction); + browser->setReadOnly(true); + QVERIFY(browser->textInteractionFlags() == Qt::TextBrowserInteraction); +} + +void tst_QTextBrowser::anchorsWithSelfBuiltHtml() +{ + browser->setHtml("<p>Hello <a href=\"#anchor\">Link</a>" + "<p><a name=\"anchor\"/>Blah</p>"); + QVERIFY(browser->document()->blockCount() > 1); + browser->setSource(QUrl("#anchor")); + QVERIFY(browser->document()->blockCount() > 1); +} + +class HelpBrowser : public QTextBrowser +{ +public: + virtual QVariant loadResource(int /*type*/, const QUrl &name) { + QString url = name.toString(); + if(url == "qhelp://docs/index.html") { + return "index"; + } else if (url == "qhelp://docs/classes.html") { + return "classes"; + } else if (url == "qhelp://docs/someclass.html") { + return "someclass"; + } + return QVariant(); + } +}; + +void tst_QTextBrowser::relativeNonLocalUrls() +{ + HelpBrowser browser; + browser.setSource(QUrl("qhelp://docs/index.html")); + QCOMPARE(browser.toPlainText(), QString("index")); + browser.setSource(QUrl("classes.html")); + QCOMPARE(browser.toPlainText(), QString("classes")); + browser.setSource(QUrl("someclass.html")); + QCOMPARE(browser.toPlainText(), QString("someclass")); +} + +class HackBrowser : public TestBrowser +{ +public: + inline bool focusTheNextChild() { return QTextBrowser::focusNextChild(); } + inline bool focusThePreviousChild() { return QTextBrowser::focusPreviousChild(); } +}; + +void tst_QTextBrowser::adjacentAnchors() +{ + HackBrowser *browser = new HackBrowser; + browser->setHtml("<a href=\"#foo\">foo</a><a href=\"#bar\">bar</a>"); + QVERIFY(browser->focusTheNextChild()); + QCOMPARE(browser->textCursor().selectedText(), QString("foo")); + + QVERIFY(browser->focusTheNextChild()); + QCOMPARE(browser->textCursor().selectedText(), QString("bar")); + + QVERIFY(!browser->focusTheNextChild()); + + browser->moveCursor(QTextCursor::End); + QVERIFY(browser->focusThePreviousChild()); + QCOMPARE(browser->textCursor().selectedText(), QString("bar")); + QVERIFY(browser->focusThePreviousChild()); + QCOMPARE(browser->textCursor().selectedText(), QString("foo")); + + delete browser; +} + +void tst_QTextBrowser::loadResourceOnRelativeLocalFiles() +{ + browser->setSource(QUrl("subdir/index.html")); + QVERIFY(!browser->toPlainText().isEmpty()); + QVariant v = browser->loadResource(QTextDocument::HtmlResource, QUrl("../anchor.html")); + QVERIFY(v.isValid()); + QVERIFY(v.type() == QVariant::ByteArray); + QVERIFY(!v.toByteArray().isEmpty()); +} + +void tst_QTextBrowser::focusIndicator() +{ + HackBrowser *browser = new HackBrowser; + browser->setSource(QUrl("firstpage.html")); + QVERIFY(!browser->textCursor().hasSelection()); + + browser->focusTheNextChild(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to second page")); + +#ifdef QT_KEYPAD_NAVIGATION + browser->setEditFocus(true); +#endif + QTest::keyClick(browser, Qt::Key_Enter); + QVERIFY(!browser->textCursor().hasSelection()); + + browser->focusTheNextChild(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page from second page")); + + QTest::keyClick(browser, Qt::Key_Enter); + QVERIFY(!browser->textCursor().hasSelection()); + + browser->backward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page from second page")); + + browser->backward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to second page")); + + browser->forward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page from second page")); + + browser->backward(); + browser->backward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to second page")); + + QTest::keyClick(browser, Qt::Key_Enter); + QVERIFY(!browser->textCursor().hasSelection()); + + delete browser; +} + +void tst_QTextBrowser::focusHistory() +{ + HackBrowser *browser = new HackBrowser; + browser->setSource(QUrl("firstpage.html")); + QVERIFY(!browser->textCursor().hasSelection()); + + browser->focusTheNextChild(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to second page")); + +#ifdef QT_KEYPAD_NAVIGATION + browser->setEditFocus(true); +#endif + QTest::keyClick(browser, Qt::Key_Enter); + QVERIFY(!browser->textCursor().hasSelection()); + + browser->focusTheNextChild(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page from second page")); + + browser->backward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to second page")); + + browser->focusTheNextChild(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page")); + + // Despite the third page link being highlighted, going forward should go to second, + // and going back after that should still highlight the third link + browser->forward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page from second page")); + + browser->backward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page")); + + browser->forward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page from second page")); + + QTest::keyClick(browser, Qt::Key_Enter); + QVERIFY(!browser->textCursor().hasSelection()); + + browser->backward(); + browser->backward(); + + QVERIFY(browser->textCursor().hasSelection()); + QCOMPARE(browser->textCursor().selectedText(), QString("Link to third page")); + + delete browser; +} + +void tst_QTextBrowser::urlEncoding() +{ + HackBrowser *browser = new HackBrowser; + browser->setOpenLinks(false); + browser->setHtml("<a href=\"http://www.google.com/q=%22\">link</a>"); + browser->focusTheNextChild(); + + QSignalSpy spy(browser, SIGNAL(anchorClicked(const QUrl &))); + +#ifdef QT_KEYPAD_NAVIGATION + browser->setEditFocus(true); +#endif + QTest::keyClick(browser, Qt::Key_Enter); + QCOMPARE(spy.count(), 1); + + QUrl url = spy.at(0).at(0).toUrl(); + QVERIFY(url.toEncoded() == QByteArray("http://www.google.com/q=%22")); + + delete browser; +} + +QTEST_MAIN(tst_QTextBrowser) +#include "tst_qtextbrowser.moc" |