diff --git a/DEPS b/DEPS index bb4f14b..c4f5f5b 100644 --- a/DEPS +++ b/DEPS
@@ -44,7 +44,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': 'df39e430deb8f0e30b8a5f1978e8eb2040e9e957', + 'v8_revision': 'ec3ce5bd4cb614d3c7245ffd282a426ef9672e12', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling swarming_client # and whatever else without interference from each other. @@ -96,7 +96,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling catapult # and whatever else without interference from each other. - 'catapult_revision': '574285df8dae4445d2370362a2cff4cce0eaa8c0', + 'catapult_revision': '88e9135e3e0a5cfe60aa54b9248aac917ca865f0', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libFuzzer # and whatever else without interference from each other.
diff --git a/ash/common/system/chromeos/bluetooth/tray_bluetooth.cc b/ash/common/system/chromeos/bluetooth/tray_bluetooth.cc index 80a3cbc0..a6a6c5e 100644 --- a/ash/common/system/chromeos/bluetooth/tray_bluetooth.cc +++ b/ash/common/system/chromeos/bluetooth/tray_bluetooth.cc
@@ -454,8 +454,8 @@ WmShell::Get()->system_tray_delegate()->ToggleBluetooth(); else if (sender == settings_) ShowSettings(); - - NOTREACHED(); + else + NOTREACHED(); } void CreateExtraTitleRowButtons() override {
diff --git a/chrome/android/java/res/layout/new_tab_page_snippets_card.xml b/chrome/android/java/res/layout/new_tab_page_snippets_card.xml index 468fd732..c556447d 100644 --- a/chrome/android/java/res/layout/new_tab_page_snippets_card.xml +++ b/chrome/android/java/res/layout/new_tab_page_snippets_card.xml
@@ -20,6 +20,7 @@ android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_toStartOf="@+id/article_thumbnail" + android:maxLines="2" android:ellipsize="end" android:textSize="16sp" android:textColor="@color/snippets_headline_text_color" @@ -90,7 +91,7 @@ android:layout_height="@dimen/snippets_thumbnail_size" android:layout_alignParentTop="true" android:layout_alignParentEnd="true" - android:layout_marginStart="16dp" + android:layout_marginStart="@dimen/snippets_thumbnail_margin" android:scaleType="centerCrop" android:contentDescription="@null" android:src="@null" />
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml index 1fb7d8d..52ec178 100644 --- a/chrome/android/java/res/values/dimens.xml +++ b/chrome/android/java/res/values/dimens.xml
@@ -289,6 +289,7 @@ <dimen name="ntp_sign_in_promo_margin_top">20dp</dimen> <dimen name="ntp_progress_indicator_diameter">56dp</dimen> <dimen name="snippets_thumbnail_size">72dp</dimen> + <dimen name="snippets_thumbnail_margin">16dp</dimen> <!-- The default padding for the peeking card and the amount the card peeks by in the current peeking card animation (the calculations assume this is the same). --> <dimen name="snippets_padding">16dp</dimen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java index 9c56a10..212f0ef5 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
@@ -59,6 +59,63 @@ /** To be called when a client gets disconnected. */ public interface DisconnectCallback { public void run(CustomTabsSessionToken session); } + private static class KeepAliveServiceConnection implements ServiceConnection { + private final Context mContext; + private final Intent mServiceIntent; + private boolean mHasDied; + private boolean mIsBound; + + public KeepAliveServiceConnection(Context context, Intent serviceIntent) { + mContext = context; + mServiceIntent = serviceIntent; + } + + /** + * Connects to the service identified by |serviceIntent|. Does not reconnect if the service + * got disconnected at some point from the other end (remote process death). + */ + public boolean connect() { + if (mIsBound) return true; + // If the remote process died at some point, it doesn't make sense to resurrect it. + if (mHasDied) return false; + + boolean ok; + try { + ok = mContext.bindService(mServiceIntent, this, Context.BIND_AUTO_CREATE); + } catch (SecurityException e) { + return false; + } + mIsBound = ok; + return ok; + } + + /** + * Disconnects from the remote process. Safe to call even if {@link connect()} returned + * false, or if the remote service died. + */ + public void disconnect() { + if (mIsBound) { + mContext.unbindService(this); + mIsBound = false; + } + } + + @Override + public void onServiceConnected(ComponentName name, IBinder service) {} + + @Override + public void onServiceDisconnected(ComponentName name) { + if (mIsBound) { + // The remote process has died. This typically happens if the system is low enough + // on memory to kill one of the last process on the "kill list". In this case, we + // shouldn't resurrect the process (which happens with BIND_AUTO_CREATE) because + // that could create a "restart/kill" loop. + mHasDied = true; + disconnect(); + } + } + } + /** Per-session values. */ private static class SessionParams { public final int uid; @@ -71,7 +128,7 @@ private boolean mShouldHideDomain; private boolean mShouldPrerenderOnCellular; private boolean mShouldSendNavigationInfo; - private ServiceConnection mKeepAliveConnection; + private KeepAliveServiceConnection mKeepAliveConnection; private String mPredictedUrl; private long mLastMayLaunchUrlTimestamp; @@ -90,11 +147,11 @@ return packageList[0]; } - public ServiceConnection getKeepAliveConnection() { + public KeepAliveServiceConnection getKeepAliveConnection() { return mKeepAliveConnection; } - public void setKeepAliveConnection(ServiceConnection serviceConnection) { + public void setKeepAliveConnection(KeepAliveServiceConnection serviceConnection) { mKeepAliveConnection = serviceConnection; } @@ -402,28 +459,20 @@ SessionParams params = mSessionParams.get(session); if (params == null) return false; - String packageName = intent.getComponent().getPackageName(); - PackageManager pm = mContext.getApplicationContext().getPackageManager(); - // Only binds to the application associated to this session. - if (!Arrays.asList(pm.getPackagesForUid(params.uid)).contains(packageName)) return false; - Intent serviceIntent = new Intent().setComponent(intent.getComponent()); - // This ServiceConnection doesn't handle disconnects. This is on - // purpose, as it occurs when the remote process has died. Since the - // only use of this connection is to keep the application alive, - // re-connecting would just re-create the process, but the application - // state has been lost at that point, the callbacks invalidated, etc. - ServiceConnection connection = new ServiceConnection() { - @Override - public void onServiceConnected(ComponentName name, IBinder service) {} - @Override - public void onServiceDisconnected(ComponentName name) {} - }; - boolean ok; - try { - ok = mContext.bindService(serviceIntent, connection, Context.BIND_AUTO_CREATE); - } catch (SecurityException e) { - return false; + KeepAliveServiceConnection connection = params.getKeepAliveConnection(); + + if (connection == null) { + String packageName = intent.getComponent().getPackageName(); + PackageManager pm = mContext.getApplicationContext().getPackageManager(); + // Only binds to the application associated to this session. + if (!Arrays.asList(pm.getPackagesForUid(params.uid)).contains(packageName)) { + return false; + } + Intent serviceIntent = new Intent().setComponent(intent.getComponent()); + connection = new KeepAliveServiceConnection(mContext, serviceIntent); } + + boolean ok = connection.connect(); if (ok) params.setKeepAliveConnection(connection); return ok; } @@ -432,9 +481,8 @@ public synchronized void dontKeepAliveForSession(CustomTabsSessionToken session) { SessionParams params = mSessionParams.get(session); if (params == null || params.getKeepAliveConnection() == null) return; - ServiceConnection connection = params.getKeepAliveConnection(); - params.setKeepAliveConnection(null); - mContext.unbindService(connection); + KeepAliveServiceConnection connection = params.getKeepAliveConnection(); + connection.disconnect(); } /** See {@link RequestThrottler#isPrerenderingAllowed()} */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java index d809a34..be2dea30 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
@@ -72,6 +72,9 @@ "https://s2.googleusercontent.com/s2/favicons?domain=%s&src=chrome_newtab_mobile&sz=%d&alt=404"; private final SuggestionsUiDelegate mUiDelegate; + private final UiConfig mUiConfig; + private final ThumbnailProvider mThumbnailProvider; + private final TextView mHeadlineTextView; private final TextView mPublisherTextView; private final TextView mArticleSnippetTextView; @@ -79,12 +82,11 @@ private final ImageView mOfflineBadge; private final View mPublisherBar; + /** Total horizontal space occupied by the thumbnail, sum of its size and margin. */ + private final int mThumbnailFootprintPx; private final boolean mUseFaviconService; - private final UiConfig mUiConfig; - private final ColorStateList mIconForegroundColorList; private final int mIconBackgroundColor; - private final ThumbnailProvider mThumbnailProvider; private FetchImageCallback mImageCallback; private SnippetArticle mArticle; @@ -104,6 +106,8 @@ super(R.layout.new_tab_page_snippets_card, parent, uiConfig, contextMenuManager); mUiDelegate = uiDelegate; + mUiConfig = uiConfig; + mThumbnailView = (TintedImageView) itemView.findViewById(R.id.article_thumbnail); mHeadlineTextView = (TextView) itemView.findViewById(R.id.article_headline); mPublisherTextView = (TextView) itemView.findViewById(R.id.article_publisher); @@ -111,22 +115,23 @@ mPublisherBar = itemView.findViewById(R.id.publisher_bar); mOfflineBadge = (ImageView) itemView.findViewById(R.id.offline_icon); - new ImpressionTracker(itemView, this); - - mUiConfig = uiConfig; - new DisplayStyleObserverAdapter(itemView, uiConfig, new DisplayStyleObserver() { - @Override - public void onDisplayStyleChanged(UiConfig.DisplayStyle newDisplayStyle) { - updateLayout(); - } - }); - + mThumbnailFootprintPx = + itemView.getResources().getDimensionPixelSize(R.dimen.snippets_thumbnail_size) + + itemView.getResources().getDimensionPixelSize(R.dimen.snippets_thumbnail_margin); mUseFaviconService = CardsVariationParameters.isFaviconServiceEnabled(); mIconBackgroundColor = DownloadUtils.getIconBackgroundColor(parent.getContext()); mIconForegroundColorList = DownloadUtils.getIconForegroundColorList(parent.getContext()); mThumbnailProvider = new ThumbnailProviderImpl( Math.min(mThumbnailView.getMaxWidth(), mThumbnailView.getMaxHeight())); + + new ImpressionTracker(itemView, this); + new DisplayStyleObserverAdapter(itemView, uiConfig, new DisplayStyleObserver() { + @Override + public void onDisplayStyleChanged(UiConfig.DisplayStyle newDisplayStyle) { + updateLayout(); + } + }); } @Override @@ -219,16 +224,15 @@ mArticleSnippetTextView.setVisibility(showDescription ? View.VISIBLE : View.GONE); mThumbnailView.setVisibility(showThumbnail ? View.VISIBLE : View.GONE); - mHeadlineTextView.setMaxLines(getHeaderMaxLines(horizontalStyle, verticalStyle, layout)); - mHeadlineTextView.setMinLines(getHeaderMinLines(showDescription, showThumbnail)); // If we aren't showing the article snippet, reduce the top margin for publisher text. ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) mPublisherBar.getLayoutParams(); - params.topMargin = mPublisherBar.getResources().getDimensionPixelSize(showThumbnail + params.topMargin = mPublisherBar.getResources().getDimensionPixelSize(showDescription ? R.dimen.snippets_publisher_margin_top_with_article_snippet : R.dimen.snippets_publisher_margin_top_without_article_snippet); + ApiCompatibilityUtils.setMarginEnd(params, showThumbnail ? mThumbnailFootprintPx : 0); mPublisherBar.setLayoutParams(params); } @@ -251,21 +255,6 @@ return true; } - private int getHeaderMaxLines(int horizontalStyle, int verticalStyle, int layout) { - // When the screen is too small (narrow or flat) we don't show the description so we have - // more space for the header. - if (verticalStyle == VerticalDisplayStyle.FLAT) return 3; - if (horizontalStyle == HorizontalDisplayStyle.NARROW) return 4; - return 2; - } - - private int getHeaderMinLines(boolean showDescription, boolean showThumbnail) { - // When we have a thumbnail, we try to ensure we have enough content to push the - // attribution line below it. So when the description is hidden, we have to force the - // header to reserve that space. - return showThumbnail && !showDescription ? 3 : 1; - } - private static String getAttributionString(SnippetArticle article) { if (article.mPublishTimestampMilliseconds == 0) return article.mPublisher;
diff --git a/chrome/browser/chromeos/external_metrics.cc b/chrome/browser/chromeos/external_metrics.cc index 5ca83bc..24c5a4c 100644 --- a/chrome/browser/chromeos/external_metrics.cc +++ b/chrome/browser/chromeos/external_metrics.cc
@@ -7,7 +7,9 @@ #include <stddef.h> #include <map> +#include <memory> #include <string> +#include <vector> #include "base/bind.h" #include "base/metrics/histogram_macros.h" @@ -133,13 +135,11 @@ } int ExternalMetrics::CollectEvents() { - ScopedVector<metrics::MetricSample> samples; + std::vector<std::unique_ptr<metrics::MetricSample>> samples; metrics::SerializationUtils::ReadAndTruncateMetricsFromFile(uma_events_file_, &samples); - for (ScopedVector<metrics::MetricSample>::iterator it = samples.begin(); - it != samples.end(); - ++it) { + for (auto it = samples.begin(); it != samples.end(); ++it) { const metrics::MetricSample& sample = **it; // Do not use the UMA_HISTOGRAM_... macros here. They cache the Histogram
diff --git a/chrome/browser/predictors/resource_prefetch_predictor.cc b/chrome/browser/predictors/resource_prefetch_predictor.cc index 75a2d29..557f5ad 100644 --- a/chrome/browser/predictors/resource_prefetch_predictor.cc +++ b/chrome/browser/predictors/resource_prefetch_predictor.cc
@@ -120,6 +120,56 @@ GetUrlVisitCountTask::~GetUrlVisitCountTask() {} +void ReportPrefetchAccuracy( + const ResourcePrefetcher::PrefetcherStats& stats, + const std::vector<ResourcePrefetchPredictor::URLRequestSummary>& + summaries) { + if (stats.requests_stats.empty()) + return; + + std::set<GURL> urls; + for (const auto& summary : summaries) + urls.insert(summary.resource_url); + + int cached_misses_count = 0; + int not_cached_misses_count = 0; + int cached_hits_count = 0; + int not_cached_hits_count = 0; + int64_t misses_bytes = 0; + int64_t hits_bytes = 0; + + for (const auto& request_stats : stats.requests_stats) { + bool hit = urls.find(request_stats.resource_url) != urls.end(); + bool cached = request_stats.was_cached; + size_t bytes = request_stats.total_received_bytes; + + cached_hits_count += cached && hit; + cached_misses_count += cached && !hit; + not_cached_hits_count += !cached && hit; + not_cached_misses_count += !cached && !hit; + misses_bytes += !hit * bytes; + hits_bytes += hit * bytes; + } + + UMA_HISTOGRAM_COUNTS_100( + internal::kResourcePrefetchPredictorPrefetchMissesCountCached, + cached_misses_count); + UMA_HISTOGRAM_COUNTS_100( + internal::kResourcePrefetchPredictorPrefetchMissesCountNotCached, + not_cached_misses_count); + UMA_HISTOGRAM_COUNTS_100( + internal::kResourcePrefetchPredictorPrefetchHitsCountCached, + cached_hits_count); + UMA_HISTOGRAM_COUNTS_100( + internal::kResourcePrefetchPredictorPrefetchHitsCountNotCached, + not_cached_hits_count); + UMA_HISTOGRAM_COUNTS_10000( + internal::kResourcePrefetchPredictorPrefetchHitsSize, hits_bytes / 1024); + UMA_HISTOGRAM_COUNTS_10000( + internal::kResourcePrefetchPredictorPrefetchMissesSize, + misses_bytes / 1024); +} + void ReportPredictionAccuracy( const std::vector<GURL>& predicted_urls, const ResourcePrefetchPredictor::PageRequestSummary& summary) { @@ -549,9 +599,12 @@ } void ResourcePrefetchPredictor::OnPrefetchingFinished( - const GURL& main_frame_url) { + const GURL& main_frame_url, + std::unique_ptr<ResourcePrefetcher::PrefetcherStats> stats) { if (observer_) observer_->OnPrefetchingFinished(main_frame_url); + + prefetcher_stats_.insert(std::make_pair(main_frame_url, std::move(stats))); } bool ResourcePrefetchPredictor::IsUrlPrefetchable(const GURL& main_frame_url) { @@ -582,7 +635,6 @@ const GURL& main_frame_url = request.navigation_id.main_frame_url; StartPrefetching(main_frame_url, PrefetchOrigin::NAVIGATION); - // Cleanup older navigations. CleanupAbandonedNavigations(request.navigation_id); // New empty navigation entry. @@ -657,12 +709,20 @@ std::unique_ptr<PageRequestSummary> summary = std::move(nav_it->second); inflight_navigations_.erase(nav_it); + const GURL& main_frame_url = nav_id_without_timing_info.main_frame_url; std::vector<GURL> predicted_urls; - bool has_data = GetPrefetchData(nav_id_without_timing_info.main_frame_url, - &predicted_urls); + bool has_data = GetPrefetchData(main_frame_url, &predicted_urls); if (has_data) ReportPredictionAccuracy(predicted_urls, *summary); + auto it = prefetcher_stats_.find(main_frame_url); + if (it != prefetcher_stats_.end()) { + const std::vector<URLRequestSummary>& summaries = + summary->subresource_requests; + ReportPrefetchAccuracy(*it->second, summaries); + prefetcher_stats_.erase(it); + } + // Kick off history lookup to determine if we should record the URL. history::HistoryService* history_service = HistoryServiceFactory::GetForProfile(profile_, @@ -792,6 +852,19 @@ else ++it; } + + // Remove old prefetches that haven't been claimed. + for (auto stats_it = prefetcher_stats_.begin(); + stats_it != prefetcher_stats_.end();) { + if (time_now - stats_it->second->start_time > max_navigation_age) { + // No requests -> everything is a miss. + ReportPrefetchAccuracy(*stats_it->second, + std::vector<URLRequestSummary>()); + stats_it = prefetcher_stats_.erase(stats_it); + } else { + ++stats_it; + } + } } void ResourcePrefetchPredictor::DeleteAllUrls() {
diff --git a/chrome/browser/predictors/resource_prefetch_predictor.h b/chrome/browser/predictors/resource_prefetch_predictor.h index 2af4be9e..25514ab 100644 --- a/chrome/browser/predictors/resource_prefetch_predictor.h +++ b/chrome/browser/predictors/resource_prefetch_predictor.h
@@ -47,6 +47,18 @@ "ResourcePrefetchPredictor.LearningCount"; constexpr char kResourcePrefetchPredictorPrefetchingDurationHistogram[] = "ResourcePrefetchPredictor.PrefetchingDuration"; +constexpr char kResourcePrefetchPredictorPrefetchMissesCountCached[] = + "ResourcePrefetchPredictor.PrefetchMissesCount.Cached"; +constexpr char kResourcePrefetchPredictorPrefetchMissesCountNotCached[] = + "ResourcePrefetchPredictor.PrefetchMissesCount.NotCached"; +constexpr char kResourcePrefetchPredictorPrefetchHitsCountCached[] = + "ResourcePrefetchPredictor.PrefetchHitsCount.Cached"; +constexpr char kResourcePrefetchPredictorPrefetchHitsCountNotCached[] = + "ResourcePrefetchPredictor.PrefetchHitsCount.NotCached"; +constexpr char kResourcePrefetchPredictorPrefetchHitsSize[] = + "ResourcePrefetchPredictor.PrefetchHitsSizeKB"; +constexpr char kResourcePrefetchPredictorPrefetchMissesSize[] = + "ResourcePrefetchPredictor.PrefetchMissesSizeKB"; } // namespace internal class TestObserver; @@ -174,7 +186,9 @@ // Called when ResourcePrefetcher is finished, i.e. there is nothing pending // in flight. - void OnPrefetchingFinished(const GURL& main_frame_url); + void OnPrefetchingFinished( + const GURL& main_frame_url, + std::unique_ptr<ResourcePrefetcher::PrefetcherStats> stats); // Returns true if prefetching data exists for the |main_frame_url|. virtual bool IsUrlPrefetchable(const GURL& main_frame_url); @@ -222,7 +236,6 @@ INITIALIZING = 1, INITIALIZED = 2 }; - typedef ResourcePrefetchPredictorTables::PrefetchDataMap PrefetchDataMap; typedef ResourcePrefetchPredictorTables::RedirectDataMap RedirectDataMap; @@ -288,8 +301,7 @@ // database has been read. void OnHistoryAndCacheLoaded(); - // Removes data for navigations where the onload never fired. Will cleanup - // inflight_navigations_ and inflight_prefetches_. + // Cleanup inflight_navigations_, inflight_prefetches_, and prefetcher_stats_. void CleanupAbandonedNavigations(const NavigationID& navigation_id); // Deletes all URLs from the predictor database, the caches and removes all @@ -373,6 +385,9 @@ std::map<GURL, base::TimeTicks> inflight_prefetches_; NavigationMap inflight_navigations_; + std::map<GURL, std::unique_ptr<ResourcePrefetcher::PrefetcherStats>> + prefetcher_stats_; + ScopedObserver<history::HistoryService, history::HistoryServiceObserver> history_service_observer_;
diff --git a/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc b/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc index bfe5c43..872022f 100644 --- a/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc +++ b/chrome/browser/predictors/resource_prefetch_predictor_browsertest.cc
@@ -9,6 +9,7 @@ #include "base/command_line.h" #include "base/memory/ptr_util.h" #include "base/strings/string_util.h" +#include "base/test/histogram_tester.h" #include "chrome/browser/browsing_data/browsing_data_helper.h" #include "chrome/browser/browsing_data/browsing_data_remover.h" #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" @@ -76,7 +77,6 @@ is_prohibited(false) {} ResourcePrefetchPredictor::URLRequestSummary request; - std::string content; // Allows to update HTTP ETag. size_t version; // True iff "Cache-control: no-store" header is present. @@ -317,6 +317,7 @@ ResourcePrefetchPredictorFactory::GetForProfile(browser()->profile()); ASSERT_TRUE(predictor_); EnsurePredictorInitialized(); + histogram_tester_.reset(new base::HistogramTester()); } void TestLearningAndPrefetching(const GURL& main_frame_url) { @@ -487,6 +488,8 @@ return navigation_id_history_.size(); } + std::unique_ptr<base::HistogramTester> histogram_tester_; + private: // ResourcePrefetchPredictor needs to be initialized before the navigation // happens otherwise this navigation will be ignored by predictor. @@ -586,8 +589,6 @@ if (!summary.request.mime_type.empty()) http_response->set_content_type(summary.request.mime_type); - if (!summary.content.empty()) - http_response->set_content(summary.content); if (summary.is_no_store) http_response->AddCustomHeader("Cache-Control", "no-store"); if (summary.request.has_validators) { @@ -599,6 +600,10 @@ else http_response->AddCustomHeader("Cache-Control", "max-age=2147483648"); + // Add some content, otherwise the prefetch size histogram rounds down to + // 0kB. + http_response->set_content(std::string(1024, ' ')); + return std::move(http_response); } @@ -642,6 +647,22 @@ AddResource(GetURL(kFontPath), content::RESOURCE_TYPE_FONT_RESOURCE, net::HIGHEST); TestLearningAndPrefetching(GetURL(kHtmlSubresourcesPath)); + + // The local cache is cleared. + histogram_tester_->ExpectBucketCount( + internal::kResourcePrefetchPredictorPrefetchMissesCountCached, 0, 1); + histogram_tester_->ExpectBucketCount( + internal::kResourcePrefetchPredictorPrefetchMissesCountNotCached, 0, 1); + histogram_tester_->ExpectBucketCount( + internal::kResourcePrefetchPredictorPrefetchHitsCountCached, 0, 1); + histogram_tester_->ExpectBucketCount( + internal::kResourcePrefetchPredictorPrefetchHitsCountNotCached, 4, 1); + + histogram_tester_->ExpectBucketCount( + internal::kResourcePrefetchPredictorPrefetchMissesSize, 0, 1); + // Each request is ~1k, see HandleResourceRequest() above. + histogram_tester_->ExpectBucketCount( + internal::kResourcePrefetchPredictorPrefetchHitsSize, 4, 1); } IN_PROC_BROWSER_TEST_F(ResourcePrefetchPredictorBrowserTest, Redirect) {
diff --git a/chrome/browser/predictors/resource_prefetcher.cc b/chrome/browser/predictors/resource_prefetcher.cc index a953216b..cc1d466 100644 --- a/chrome/browser/predictors/resource_prefetcher.cc +++ b/chrome/browser/predictors/resource_prefetcher.cc
@@ -4,6 +4,7 @@ #include "chrome/browser/predictors/resource_prefetcher.h" +#include <algorithm> #include <iterator> #include <utility> @@ -25,6 +26,27 @@ namespace predictors { +ResourcePrefetcher::PrefetchedRequestStats::PrefetchedRequestStats( + const GURL& resource_url, + bool was_cached, + size_t total_received_bytes) + : resource_url(resource_url), + was_cached(was_cached), + total_received_bytes(total_received_bytes) {} + +ResourcePrefetcher::PrefetchedRequestStats::~PrefetchedRequestStats() {} + +ResourcePrefetcher::PrefetcherStats::PrefetcherStats(const GURL& url) + : url(url) {} + +ResourcePrefetcher::PrefetcherStats::~PrefetcherStats() {} + +ResourcePrefetcher::PrefetcherStats::PrefetcherStats( + const PrefetcherStats& other) + : url(other.url), + start_time(other.start_time), + requests_stats(other.requests_stats) {} + ResourcePrefetcher::ResourcePrefetcher( Delegate* delegate, const ResourcePrefetchPredictorConfig& config, @@ -35,7 +57,8 @@ config_(config), main_frame_url_(main_frame_url), prefetched_count_(0), - prefetched_bytes_(0) { + prefetched_bytes_(0), + stats_(base::MakeUnique<PrefetcherStats>(main_frame_url)) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); std::copy(urls.begin(), urls.end(), std::back_inserter(request_queue_)); @@ -50,6 +73,7 @@ CHECK_EQ(state_, INITIALIZED); state_ = RUNNING; + stats_->start_time = base::TimeTicks::Now(); TryToLaunchPrefetchRequests(); } @@ -110,7 +134,7 @@ prefetched_bytes_ / 1024); state_ = FINISHED; - delegate_->ResourcePrefetcherFinished(this); + delegate_->ResourcePrefetcherFinished(this, std::move(stats_)); } } @@ -164,18 +188,21 @@ FinishRequest(request); return; } - } while (bytes_read > 0); } void ResourcePrefetcher::RequestComplete(net::URLRequest* request) { ++prefetched_count_; - prefetched_bytes_ += request->GetTotalReceivedBytes(); + int64_t total_received_bytes = request->GetTotalReceivedBytes(); + prefetched_bytes_ += total_received_bytes; UMA_HISTOGRAM_ENUMERATION( internal::kResourcePrefetchPredictorCachePatternHistogram, request->response_info().cache_entry_status, net::HttpResponseInfo::CacheEntryStatus::ENTRY_MAX); + + stats_->requests_stats.emplace_back(request->url(), request->was_cached(), + total_received_bytes); } void ResourcePrefetcher::OnReceivedRedirect(
diff --git a/chrome/browser/predictors/resource_prefetcher.h b/chrome/browser/predictors/resource_prefetcher.h index caba0981..cc80802 100644 --- a/chrome/browser/predictors/resource_prefetcher.h +++ b/chrome/browser/predictors/resource_prefetcher.h
@@ -10,12 +10,14 @@ #include <list> #include <map> #include <memory> +#include <string> #include <utility> #include <vector> #include "base/macros.h" #include "base/memory/scoped_vector.h" #include "base/threading/thread_checker.h" +#include "base/time/time.h" #include "chrome/browser/predictors/resource_prefetch_common.h" #include "net/url_request/redirect_info.h" #include "net/url_request/url_request.h" @@ -44,6 +46,27 @@ // - Lives entirely on the IO thread. class ResourcePrefetcher : public net::URLRequest::Delegate { public: + struct PrefetchedRequestStats { + PrefetchedRequestStats(const GURL& resource_url, + bool was_cached, + size_t total_received_bytes); + ~PrefetchedRequestStats(); + + GURL resource_url; + bool was_cached; + size_t total_received_bytes; + }; + + struct PrefetcherStats { + explicit PrefetcherStats(const GURL& url); + ~PrefetcherStats(); + PrefetcherStats(const PrefetcherStats& other); + + GURL url; + base::TimeTicks start_time; + std::vector<PrefetchedRequestStats> requests_stats; + }; + // Used to communicate when the prefetching is done. All methods are invoked // on the IO thread. class Delegate { @@ -52,7 +75,9 @@ // Called when the ResourcePrefetcher is finished, i.e. there is nothing // pending in flight. - virtual void ResourcePrefetcherFinished(ResourcePrefetcher* prefetcher) = 0; + virtual void ResourcePrefetcherFinished( + ResourcePrefetcher* prefetcher, + std::unique_ptr<PrefetcherStats> stats) = 0; virtual net::URLRequestContext* GetURLRequestContext() = 0; }; @@ -129,6 +154,7 @@ inflight_requests_; std::list<GURL> request_queue_; std::map<std::string, size_t> host_inflight_counts_; + std::unique_ptr<PrefetcherStats> stats_; DISALLOW_COPY_AND_ASSIGN(ResourcePrefetcher); };
diff --git a/chrome/browser/predictors/resource_prefetcher_manager.cc b/chrome/browser/predictors/resource_prefetcher_manager.cc index 7130038..434c149 100644 --- a/chrome/browser/predictors/resource_prefetcher_manager.cc +++ b/chrome/browser/predictors/resource_prefetcher_manager.cc
@@ -79,14 +79,16 @@ } void ResourcePrefetcherManager::ResourcePrefetcherFinished( - ResourcePrefetcher* resource_prefetcher) { + ResourcePrefetcher* resource_prefetcher, + std::unique_ptr<ResourcePrefetcher::PrefetcherStats> stats) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); const GURL& main_frame_url = resource_prefetcher->main_frame_url(); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind(&ResourcePrefetchPredictor::OnPrefetchingFinished, - base::Unretained(predictor_), main_frame_url)); + base::Unretained(predictor_), main_frame_url, + base::Passed(std::move(stats)))); const std::string key = main_frame_url.host(); auto it = prefetcher_map_.find(key);
diff --git a/chrome/browser/predictors/resource_prefetcher_manager.h b/chrome/browser/predictors/resource_prefetcher_manager.h index ce1994f..a844e60 100644 --- a/chrome/browser/predictors/resource_prefetcher_manager.h +++ b/chrome/browser/predictors/resource_prefetcher_manager.h
@@ -55,7 +55,9 @@ void MaybeRemovePrefetch(const GURL& main_frame_url); // ResourcePrefetcher::Delegate methods. - void ResourcePrefetcherFinished(ResourcePrefetcher* prefetcher) override; + void ResourcePrefetcherFinished( + ResourcePrefetcher* prefetcher, + std::unique_ptr<ResourcePrefetcher::PrefetcherStats> stats) override; net::URLRequestContext* GetURLRequestContext() override; private:
diff --git a/chrome/browser/predictors/resource_prefetcher_unittest.cc b/chrome/browser/predictors/resource_prefetcher_unittest.cc index a412b552..76bac25 100644 --- a/chrome/browser/predictors/resource_prefetcher_unittest.cc +++ b/chrome/browser/predictors/resource_prefetcher_unittest.cc
@@ -61,17 +61,27 @@ explicit TestResourcePrefetcherDelegate(base::MessageLoop* loop) : request_context_getter_( new net::TestURLRequestContextGetter(loop->task_runner())) {} - ~TestResourcePrefetcherDelegate() { } + ~TestResourcePrefetcherDelegate() override {} net::URLRequestContext* GetURLRequestContext() override { return request_context_getter_->GetURLRequestContext(); } - MOCK_METHOD1(ResourcePrefetcherFinished, - void(ResourcePrefetcher* prefetcher)); + void ResourcePrefetcherFinished( + ResourcePrefetcher* prefetcher, + std::unique_ptr<ResourcePrefetcher::PrefetcherStats> stats) override { + prefetcher_ = prefetcher; + } + + bool ResourcePrefetcherFinishedCalled(ResourcePrefetcher* for_prefetcher) { + ResourcePrefetcher* prefetcher = prefetcher_; + prefetcher_ = nullptr; + return prefetcher == for_prefetcher; + } private: scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_; + ResourcePrefetcher* prefetcher_; DISALLOW_COPY_AND_ASSIGN(TestResourcePrefetcherDelegate); }; @@ -220,12 +230,12 @@ OnAuthRequired("http://m.google.com/resource3.css"); CheckPrefetcherState(1, 0, 1); - // Expect the final call. - EXPECT_CALL(prefetcher_delegate_, - ResourcePrefetcherFinished(Eq(prefetcher_.get()))); - OnResponse("http://yahoo.com/resource3.png"); CheckPrefetcherState(0, 0, 0); + + // Expect the final call. + EXPECT_TRUE( + prefetcher_delegate_.ResourcePrefetcherFinishedCalled(prefetcher_.get())); } TEST_F(ResourcePrefetcherTest, TestPrefetcherStopped) { @@ -264,12 +274,12 @@ OnResponse("http://yahoo.com/resource2.png"); CheckPrefetcherState(1, 1, 1); - // Expect the final call. - EXPECT_CALL(prefetcher_delegate_, - ResourcePrefetcherFinished(Eq(prefetcher_.get()))); - OnResponse("http://m.google.com/resource1.jpg"); CheckPrefetcherState(0, 1, 0); + + // Expect the final call. + EXPECT_TRUE( + prefetcher_delegate_.ResourcePrefetcherFinishedCalled(prefetcher_.get())); } TEST_F(ResourcePrefetcherTest, TestHistogramsCollected) { @@ -310,10 +320,6 @@ histogram_tester.ExpectTotalCount( internal::kResourcePrefetchPredictorCachePatternHistogram, 1); - // Expect the final call. - EXPECT_CALL(prefetcher_delegate_, - ResourcePrefetcherFinished(Eq(prefetcher_.get()))); - OnResponse("http://www.google.com/resource6.png"); histogram_tester.ExpectTotalCount( internal::kResourcePrefetchPredictorCachePatternHistogram, 2); @@ -321,6 +327,10 @@ internal::kResourcePrefetchPredictorPrefetchedCountHistogram, 2, 1); histogram_tester.ExpectTotalCount( internal::kResourcePrefetchPredictorPrefetchedSizeHistogram, 1); + + // Expect the final call. + EXPECT_TRUE( + prefetcher_delegate_.ResourcePrefetcherFinishedCalled(prefetcher_.get())); } } // namespace predictors
diff --git a/chrome/browser/search_engines/template_url_service_unittest.cc b/chrome/browser/search_engines/template_url_service_unittest.cc index ddc0638..07abd017 100644 --- a/chrome/browser/search_engines/template_url_service_unittest.cc +++ b/chrome/browser/search_engines/template_url_service_unittest.cc
@@ -28,10 +28,13 @@ #include "chrome/test/base/testing_profile.h" #include "components/history/core/browser/history_service.h" #include "components/search_engines/keyword_web_data_service.h" +#include "components/search_engines/search_engines_pref_names.h" +#include "components/search_engines/search_engines_test_util.h" #include "components/search_engines/search_host_to_urls_map.h" #include "components/search_engines/search_terms_data.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_prepopulate_data.h" +#include "components/sync_preferences/testing_pref_service_syncable.h" #include "content/public/test/test_browser_thread_bundle.h" #include "testing/gtest/include/gtest/gtest.h" @@ -186,6 +189,9 @@ bool safe_for_autoreplace, int prepopulate_id); + // Set custom search engine as default fallback through overrides pref. + void SetOverriddenEngines(); + // Helper methods to make calling TemplateURLServiceTestUtil methods less // visually noisy in the test code. void VerifyObserverCount(int expected_changed_count); @@ -292,6 +298,29 @@ return base::MakeUnique<TemplateURL>(data); } +void TemplateURLServiceTest::SetOverriddenEngines() { + // Set custom search engine as default fallback through overrides. + auto entry = base::MakeUnique<base::DictionaryValue>(); + entry->SetString("name", "override_name"); + entry->SetString("keyword", "override_keyword"); + entry->SetString("search_url", "http://override.com/s?q={searchTerms}"); + entry->SetString("favicon_url", "http://override.com/favicon.ico"); + entry->SetString("encoding", "UTF-8"); + entry->SetInteger("id", 1001); + entry->SetString("suggest_url", + "http://override.com/suggest?q={searchTerms}"); + entry->SetString("instant_url", + "http://override.com/instant?q={searchTerms}"); + + auto overrides_list = base::MakeUnique<base::ListValue>(); + overrides_list->Append(std::move(entry)); + + auto prefs = test_util()->profile()->GetTestingPrefService(); + prefs->SetUserPref(prefs::kSearchProviderOverridesVersion, + new base::FundamentalValue(1)); + prefs->SetUserPref(prefs::kSearchProviderOverrides, overrides_list.release()); +} + void TemplateURLServiceTest::VerifyObserverCount(int expected_changed_count) { EXPECT_EQ(expected_changed_count, test_util_->GetObserverCount()); test_util_->ResetObserverCount(); @@ -893,6 +922,154 @@ ExpectSimilar(expected_managed_default.get(), actual_managed_default); } +// Checks that RepairPrepopulatedEngines correctly updates sync guid for default +// search. Repair is considered a user action and new DSE must be synced to +// other devices as well. Otherwise previous user selected engine will arrive on +// next sync attempt. +TEST_F(TemplateURLServiceTest, RepairPrepopulatedEnginesUpdatesSyncGuid) { + test_util()->VerifyLoad(); + + // The synced DSE GUID should be empty until the user selects something or + // there is sync activity. + EXPECT_TRUE(test_util() + ->profile() + ->GetTestingPrefService() + ->GetString(prefs::kSyncedDefaultSearchProviderGUID) + .empty()); + + TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); + ASSERT_TRUE(initial_dse); + + // Add user provided default search engine. + TemplateURL* user_dse = AddKeywordWithDate( + "user_dse", "user_dse.com", "http://www.user_dse.com/s?q={searchTerms}", + std::string(), std::string(), std::string(), true, "UTF-8", Time(), + Time(), Time()); + model()->SetUserSelectedDefaultSearchProvider(user_dse); + EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); + // Check that user dse is different from initial. + EXPECT_NE(initial_dse, user_dse); + + // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. + EXPECT_EQ(user_dse->sync_guid(), + test_util()->profile()->GetTestingPrefService()->GetString( + prefs::kSyncedDefaultSearchProviderGUID)); + + model()->RepairPrepopulatedSearchEngines(); + + // Check that initial search engine is returned as default after repair. + ASSERT_EQ(initial_dse, model()->GetDefaultSearchProvider()); + // Check that initial_dse guid is stored in kSyncedDefaultSearchProviderGUID. + const std::string dse_guid = + test_util()->profile()->GetTestingPrefService()->GetString( + prefs::kSyncedDefaultSearchProviderGUID); + EXPECT_EQ(initial_dse->sync_guid(), dse_guid); + EXPECT_EQ(initial_dse->keyword(), + model()->GetTemplateURLForGUID(dse_guid)->keyword()); +} + +// Checks that RepairPrepopulatedEngines correctly updates sync guid for default +// search when search engines are overridden using pref. +TEST_F(TemplateURLServiceTest, + RepairPrepopulatedEnginesWithOverridesUpdatesSyncGuid) { + SetOverriddenEngines(); + test_util()->VerifyLoad(); + + // The synced DSE GUID should be empty until the user selects something or + // there is sync activity. + EXPECT_TRUE(test_util() + ->profile() + ->GetTestingPrefService() + ->GetString(prefs::kSyncedDefaultSearchProviderGUID) + .empty()); + + TemplateURL* overridden_engine = + model()->GetTemplateURLForKeyword(ASCIIToUTF16("override_keyword")); + ASSERT_TRUE(overridden_engine); + + EXPECT_EQ(overridden_engine, model()->GetDefaultSearchProvider()); + + // Add user provided default search engine. + TemplateURL* user_dse = AddKeywordWithDate( + "user_dse", "user_dse.com", "http://www.user_dse.com/s?q={searchTerms}", + std::string(), std::string(), std::string(), true, "UTF-8", Time(), + Time(), Time()); + model()->SetUserSelectedDefaultSearchProvider(user_dse); + EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); + + // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. + EXPECT_EQ(user_dse->sync_guid(), + test_util()->profile()->GetTestingPrefService()->GetString( + prefs::kSyncedDefaultSearchProviderGUID)); + + model()->RepairPrepopulatedSearchEngines(); + + // Check that overridden engine is returned as default after repair. + ASSERT_EQ(overridden_engine, model()->GetDefaultSearchProvider()); + // Check that overridden_engine guid is stored in + // kSyncedDefaultSearchProviderGUID. + const std::string dse_guid = + test_util()->profile()->GetTestingPrefService()->GetString( + prefs::kSyncedDefaultSearchProviderGUID); + EXPECT_EQ(overridden_engine->sync_guid(), dse_guid); + EXPECT_EQ(overridden_engine->keyword(), + model()->GetTemplateURLForGUID(dse_guid)->keyword()); +} + +// Checks that RepairPrepopulatedEngines correctly updates sync guid for default +// search when search engines is overridden by extension. +TEST_F(TemplateURLServiceTest, + RepairPrepopulatedEnginesWithExtensionUpdatesSyncGuid) { + test_util()->VerifyLoad(); + + // The synced DSE GUID should be empty until the user selects something or + // there is sync activity. + EXPECT_TRUE(test_util() + ->profile() + ->GetTestingPrefService() + ->GetString(prefs::kSyncedDefaultSearchProviderGUID) + .empty()); + + // Get initial DSE to check its guid later. + TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); + ASSERT_TRUE(initial_dse); + + // Add user provided default search engine. + TemplateURL* user_dse = model()->Add( + base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); + model()->SetUserSelectedDefaultSearchProvider(user_dse); + EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); + + // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. + EXPECT_EQ(user_dse->sync_guid(), + test_util()->profile()->GetTestingPrefService()->GetString( + prefs::kSyncedDefaultSearchProviderGUID)); + + // Add extension controlled default search engine. + std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( + new TemplateURL::AssociatedExtensionInfo("extension")); + extension_info->wants_to_be_default_engine = true; + TemplateURL* extension_dse = model()->AddExtensionControlledTURL( + base::MakeUnique<TemplateURL>( + *GenerateDummyTemplateURLData("extension_dse"), + TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION), + std::move(extension_info)); + EXPECT_EQ(extension_dse, model()->GetDefaultSearchProvider()); + // Check that user DSE guid is still stored in + // kSyncedDefaultSearchProviderGUID. + EXPECT_EQ(user_dse->sync_guid(), + test_util()->profile()->GetTestingPrefService()->GetString( + prefs::kSyncedDefaultSearchProviderGUID)); + + model()->RepairPrepopulatedSearchEngines(); + // Check that extension engine is still default but sync guid is updated to + // initial dse guid. + EXPECT_EQ(extension_dse, model()->GetDefaultSearchProvider()); + EXPECT_EQ(initial_dse->sync_guid(), + test_util()->profile()->GetTestingPrefService()->GetString( + prefs::kSyncedDefaultSearchProviderGUID)); +} + TEST_F(TemplateURLServiceTest, UpdateKeywordSearchTermsForURL) { struct TestData { const std::string url;
diff --git a/chrome/browser/ui/views/frame/browser_view_browsertest.cc b/chrome/browser/ui/views/frame/browser_view_browsertest.cc index 9c63862..f12840b 100644 --- a/chrome/browser/ui/views/frame/browser_view_browsertest.cc +++ b/chrome/browser/ui/views/frame/browser_view_browsertest.cc
@@ -109,7 +109,14 @@ // Verifies that page and devtools WebViews are being correctly layed out // when DevTools is opened/closed/updated/undocked. -IN_PROC_BROWSER_TEST_F(BrowserViewTest, DevToolsUpdatesBrowserWindow) { + +// Flaky on Chrome OS. http://crbug.com/693000 +#if defined(OS_CHROMEOS) +#define MAYBE_DevToolsUpdatesBrowserWindow DISABLED_DevToolsUpdatesBrowserWindow +#else +#define MAYBE_DevToolsUpdatesBrowserWindow DevToolsUpdatesBrowserWindow +#endif +IN_PROC_BROWSER_TEST_F(BrowserViewTest, MAYBE_DevToolsUpdatesBrowserWindow) { gfx::Rect full_bounds = browser_view()->GetContentsContainerForTest()->GetLocalBounds(); gfx::Rect small_bounds(10, 20, 30, 40);
diff --git a/chromecast/browser/metrics/external_metrics.cc b/chromecast/browser/metrics/external_metrics.cc index cc1164a..40de5ba 100644 --- a/chromecast/browser/metrics/external_metrics.cc +++ b/chromecast/browser/metrics/external_metrics.cc
@@ -6,7 +6,9 @@ #include <stddef.h> +#include <memory> #include <string> +#include <vector> #include "base/bind.h" #include "base/files/file_path.h" @@ -105,13 +107,11 @@ } int ExternalMetrics::CollectEvents() { - ScopedVector< ::metrics::MetricSample> samples; + std::vector<std::unique_ptr<::metrics::MetricSample>> samples; ::metrics::SerializationUtils::ReadAndTruncateMetricsFromFile( uma_events_file_, &samples); - for (ScopedVector< ::metrics::MetricSample>::iterator it = samples.begin(); - it != samples.end(); - ++it) { + for (auto it = samples.begin(); it != samples.end(); ++it) { const ::metrics::MetricSample& sample = **it; switch (sample.type()) {
diff --git a/components/google/core/browser/google_util.h b/components/google/core/browser/google_util.h index 53e58bc..d2526b2 100644 --- a/components/google/core/browser/google_util.h +++ b/components/google/core/browser/google_util.h
@@ -24,6 +24,11 @@ // The query key that identifies a Google Extended API request for Instant. const char kInstantExtendedAPIParam[] = "espv"; +constexpr char kGoogleInstantExtendedEnabledKey[] = + "google:instantExtendedEnabledKey"; +constexpr char kGoogleInstantExtendedEnabledKeyFull[] = + "{google:instantExtendedEnabledKey}"; + GURL LinkDoctorBaseURL(); void SetMockLinkDoctorBaseURLForTesting();
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc index 4970232..62187120 100644 --- a/components/history/core/browser/history_backend.cc +++ b/components/history/core/browser/history_backend.cc
@@ -114,44 +114,6 @@ return mv; } -// This task is run on a timer so that commits happen at regular intervals -// so they are batched together. The important thing about this class is that -// it supports canceling of the task so the reference to the backend will be -// freed. The problem is that when history is shutting down, there is likely -// to be one of these commits still pending and holding a reference. -// -// The backend can call Cancel to have this task release the reference. The -// task will still run (if we ever get to processing the event before -// shutdown), but it will not do anything. -// -// Note that this is a refcounted object and is not a task in itself. It should -// be assigned to a RunnableMethod. -// -// TODO(brettw): bug 1165182: This should be replaced with a -// base::WeakPtrFactory which will handle everything automatically (like we do -// in ExpireHistoryBackend). -class CommitLaterTask : public base::RefCounted<CommitLaterTask> { - public: - explicit CommitLaterTask(HistoryBackend* history_backend) - : history_backend_(history_backend) {} - - // The backend will call this function if it is being destroyed so that we - // release our reference. - void Cancel() { history_backend_ = nullptr; } - - void RunCommit() { - if (history_backend_) - history_backend_->Commit(); - } - - private: - friend class base::RefCounted<CommitLaterTask>; - - ~CommitLaterTask() {} - - scoped_refptr<HistoryBackend> history_backend_; -}; - QueuedHistoryDBTask::QueuedHistoryDBTask( std::unique_ptr<HistoryDBTask> task, scoped_refptr<base::SingleThreadTaskRunner> origin_loop, @@ -217,7 +179,7 @@ task_runner_(task_runner) {} HistoryBackend::~HistoryBackend() { - DCHECK(!scheduled_commit_) << "Deleting without cleanup"; + DCHECK(scheduled_commit_.IsCancelled()) << "Deleting without cleanup"; queued_history_db_tasks_.clear(); // Release stashed embedder object before cleaning up the databases. @@ -2234,20 +2196,21 @@ } void HistoryBackend::ScheduleCommit() { - if (scheduled_commit_) + // Non-cancelled means there's an already scheduled commit. Note that + // CancelableClosure starts cancelled with the default constructor. + if (!scheduled_commit_.IsCancelled()) return; - scheduled_commit_ = new CommitLaterTask(this); + + scheduled_commit_.Reset( + base::Bind(&HistoryBackend::Commit, base::Unretained(this))); + task_runner_->PostDelayedTask( - FROM_HERE, - base::Bind(&CommitLaterTask::RunCommit, scheduled_commit_), + FROM_HERE, scheduled_commit_.callback(), base::TimeDelta::FromSeconds(kCommitIntervalSeconds)); } void HistoryBackend::CancelScheduledCommit() { - if (scheduled_commit_) { - scheduled_commit_->Cancel(); - scheduled_commit_ = nullptr; - } + scheduled_commit_.Cancel(); } void HistoryBackend::ProcessDBTaskImpl() {
diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h index a329aab9..2a62a79d 100644 --- a/components/history/core/browser/history_backend.h +++ b/components/history/core/browser/history_backend.h
@@ -14,6 +14,7 @@ #include <utility> #include <vector> +#include "base/cancelable_callback.h" #include "base/containers/hash_tables.h" #include "base/containers/mru_cache.h" #include "base/files/file_path.h" @@ -42,7 +43,6 @@ } namespace history { -class CommitLaterTask; struct DownloadRow; class HistoryBackendClient; class HistoryBackendDBBaseTest; @@ -480,7 +480,6 @@ private: friend class base::RefCountedThreadSafe<HistoryBackend>; - friend class CommitLaterTask; // The commit task needs to call Commit(). friend class HistoryBackendTest; friend class HistoryBackendDBBaseTest; // So the unit tests can poke our // innards. @@ -828,10 +827,11 @@ ExpireHistoryBackend expirer_; // A commit has been scheduled to occur sometime in the future. We can check - // non-null-ness to see if there is a commit scheduled in the future, and we - // can use the pointer to cancel the scheduled commit. There can be only one + // !IsCancelled() to see if there is a commit scheduled in the future (note + // that CancelableClosure starts cancelled with the default constructor), and + // we can use Cancel() to cancel the scheduled commit. There can be only one // scheduled commit at a time (see ScheduleCommit). - scoped_refptr<CommitLaterTask> scheduled_commit_; + base::CancelableClosure scheduled_commit_; // Maps recent redirect destination pages to the chain of redirects that // brought us to there. Pages that did not have redirects or were not the
diff --git a/components/history/core/browser/typed_url_syncable_service_unittest.cc b/components/history/core/browser/typed_url_syncable_service_unittest.cc index 3ed3d8e..749938c 100644 --- a/components/history/core/browser/typed_url_syncable_service_unittest.cc +++ b/components/history/core/browser/typed_url_syncable_service_unittest.cc
@@ -226,6 +226,10 @@ fake_change_processor_.reset(new syncer::FakeSyncChangeProcessor); } + void TearDown() override { + fake_history_backend_->Closing(); + } + // Starts sync for |typed_url_sync_service_| with |initial_data| as the // initial sync data. void StartSyncing(const syncer::SyncDataList& initial_data);
diff --git a/components/metrics/daily_event.cc b/components/metrics/daily_event.cc index 900a1d23..c289a097 100644 --- a/components/metrics/daily_event.cc +++ b/components/metrics/daily_event.cc
@@ -96,9 +96,7 @@ pref_service_->SetInt64(pref_name_, last_fired_.ToInternalValue()); // Notify all observers - for (ScopedVector<DailyEvent::Observer>::iterator it = observers_.begin(); - it != observers_.end(); - ++it) { + for (auto it = observers_.begin(); it != observers_.end(); ++it) { (*it)->OnDailyEvent(); } }
diff --git a/components/metrics/daily_event.h b/components/metrics/daily_event.h index 18591a7..4f283011 100644 --- a/components/metrics/daily_event.h +++ b/components/metrics/daily_event.h
@@ -6,9 +6,9 @@ #define COMPONENTS_METRICS_DAILY_EVENT_H_ #include <memory> +#include <vector> #include "base/macros.h" -#include "base/memory/scoped_vector.h" #include "base/time/time.h" class PrefRegistrySimple; @@ -80,7 +80,7 @@ std::string histogram_name_; // A list of observers. - ScopedVector<Observer> observers_; + std::vector<std::unique_ptr<Observer>> observers_; // The time that the daily event was last fired. base::Time last_fired_;
diff --git a/components/metrics/metrics_log.cc b/components/metrics/metrics_log.cc index 599376d..e2740cb 100644 --- a/components/metrics/metrics_log.cc +++ b/components/metrics/metrics_log.cc
@@ -7,9 +7,7 @@ #include <stddef.h> #include <algorithm> -#include <memory> #include <string> -#include <vector> #include "base/base64.h" #include "base/build_time.h" @@ -205,7 +203,7 @@ } void MetricsLog::RecordStabilityMetrics( - const std::vector<MetricsProvider*>& metrics_providers, + const std::vector<std::unique_ptr<MetricsProvider>>& metrics_providers, base::TimeDelta incremental_uptime, base::TimeDelta uptime) { DCHECK(!closed_); @@ -301,7 +299,7 @@ } void MetricsLog::RecordGeneralMetrics( - const std::vector<MetricsProvider*>& metrics_providers) { + const std::vector<std::unique_ptr<MetricsProvider>>& metrics_providers) { if (local_state_->GetBoolean(prefs::kMetricsResetIds)) UMA_HISTOGRAM_BOOLEAN("UMA.IsClonedInstall", true); @@ -384,7 +382,7 @@ } std::string MetricsLog::RecordEnvironment( - const std::vector<MetricsProvider*>& metrics_providers, + const std::vector<std::unique_ptr<MetricsProvider>>& metrics_providers, const std::vector<variations::ActiveGroupId>& synthetic_trials, int64_t install_date, int64_t metrics_reporting_enabled_date) {
diff --git a/components/metrics/metrics_log.h b/components/metrics/metrics_log.h index fb4bef2..5a01964a 100644 --- a/components/metrics/metrics_log.h +++ b/components/metrics/metrics_log.h
@@ -10,6 +10,7 @@ #include <stdint.h> +#include <memory> #include <string> #include <vector> @@ -95,7 +96,7 @@ // synthetic trial such that the group is determined by the pref value. The // current environment is returned serialized as a string. std::string RecordEnvironment( - const std::vector<MetricsProvider*>& metrics_providers, + const std::vector<std::unique_ptr<MetricsProvider>>& metrics_providers, const std::vector<variations::ActiveGroupId>& synthetic_trials, int64_t install_date, int64_t metrics_reporting_enabled_date); @@ -116,13 +117,13 @@ // as number of incomplete shutdowns as well as extra breakpad and debugger // stats. void RecordStabilityMetrics( - const std::vector<MetricsProvider*>& metrics_providers, + const std::vector<std::unique_ptr<MetricsProvider>>& metrics_providers, base::TimeDelta incremental_uptime, base::TimeDelta uptime); // Records general metrics based on the specified |metrics_providers|. void RecordGeneralMetrics( - const std::vector<MetricsProvider*>& metrics_providers); + const std::vector<std::unique_ptr<MetricsProvider>>& metrics_providers); // Stop writing to this record and generate the encoded representation. // None of the Record* methods can be called after this is called.
diff --git a/components/metrics/metrics_log_unittest.cc b/components/metrics/metrics_log_unittest.cc index 6cf3c4a..0d0274a 100644 --- a/components/metrics/metrics_log_unittest.cc +++ b/components/metrics/metrics_log_unittest.cc
@@ -11,7 +11,7 @@ #include "base/base64.h" #include "base/macros.h" -#include "base/memory/scoped_vector.h" +#include "base/memory/ptr_util.h" #include "base/metrics/bucket_ranges.h" #include "base/metrics/sample_vector.h" #include "base/strings/string_number_conversions.h" @@ -289,8 +289,8 @@ synthetic_trials.push_back(kSyntheticTrials[0]); synthetic_trials.push_back(kSyntheticTrials[1]); - log.RecordEnvironment(std::vector<MetricsProvider*>(), synthetic_trials, - kInstallDate, kEnabledDate); + log.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), + synthetic_trials, kInstallDate, kEnabledDate); // Check that the system profile on the log has the correct values set. CheckSystemProfile(log.system_profile()); @@ -327,7 +327,7 @@ { TestMetricsLog log( kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); - log.RecordEnvironment(std::vector<MetricsProvider*>(), + log.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), std::vector<variations::ActiveGroupId>(), kInstallDate, kEnabledDate); EXPECT_FALSE(prefs_.GetString(kSystemProfilePref).empty()); @@ -353,7 +353,7 @@ TestMetricsLog log( kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); // Call RecordEnvironment() to record the pref again. - log.RecordEnvironment(std::vector<MetricsProvider*>(), + log.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), std::vector<variations::ActiveGroupId>(), kInstallDate, kEnabledDate); } @@ -379,14 +379,14 @@ std::vector<variations::ActiveGroupId> synthetic_trials; - log_unknown.RecordEnvironment(std::vector<MetricsProvider*>(), + log_unknown.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), synthetic_trials, kInstallDate, kEnabledDate); EXPECT_FALSE(log_unknown.system_profile().has_uma_default_state()); client.set_enable_default(EnableMetricsDefault::OPT_IN); TestMetricsLog log_opt_in(kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); - log_opt_in.RecordEnvironment(std::vector<MetricsProvider*>(), + log_opt_in.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), synthetic_trials, kInstallDate, kEnabledDate); EXPECT_TRUE(log_opt_in.system_profile().has_uma_default_state()); EXPECT_EQ(SystemProfileProto_UmaDefaultState_OPT_IN, @@ -395,7 +395,7 @@ client.set_enable_default(EnableMetricsDefault::OPT_OUT); TestMetricsLog log_opt_out(kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); - log_opt_out.RecordEnvironment(std::vector<MetricsProvider*>(), + log_opt_out.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), synthetic_trials, kInstallDate, kEnabledDate); EXPECT_TRUE(log_opt_out.system_profile().has_uma_default_state()); EXPECT_EQ(SystemProfileProto_UmaDefaultState_OPT_OUT, @@ -404,7 +404,7 @@ client.set_reporting_is_managed(true); TestMetricsLog log_managed(kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); - log_managed.RecordEnvironment(std::vector<MetricsProvider*>(), + log_managed.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), synthetic_trials, kInstallDate, kEnabledDate); EXPECT_TRUE(log_managed.system_profile().has_uma_default_state()); EXPECT_EQ(SystemProfileProto_UmaDefaultState_POLICY_FORCED_ENABLED, @@ -419,12 +419,12 @@ &client, &prefs_); TestMetricsProvider* test_provider = new TestMetricsProvider(); - ScopedVector<MetricsProvider> metrics_providers; - metrics_providers.push_back(test_provider); - log.RecordEnvironment(metrics_providers.get(), + std::vector<std::unique_ptr<MetricsProvider>> metrics_providers; + metrics_providers.push_back(base::WrapUnique<MetricsProvider>(test_provider)); + log.RecordEnvironment(metrics_providers, std::vector<variations::ActiveGroupId>(), kInstallDate, kEnabledDate); - log.RecordStabilityMetrics(metrics_providers.get(), base::TimeDelta(), + log.RecordStabilityMetrics(metrics_providers, base::TimeDelta(), base::TimeDelta()); const SystemProfileProto_Stability& stability = log.system_profile().stability(); @@ -449,12 +449,12 @@ TestMetricsLog log( kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); TestMetricsProvider* test_provider = new TestMetricsProvider(); - ScopedVector<MetricsProvider> metrics_providers; - metrics_providers.push_back(test_provider); - log.RecordEnvironment(metrics_providers.get(), + std::vector<std::unique_ptr<MetricsProvider>> metrics_providers; + metrics_providers.push_back(base::WrapUnique<MetricsProvider>(test_provider)); + log.RecordEnvironment(metrics_providers, std::vector<variations::ActiveGroupId>(), kInstallDate, kEnabledDate); - log.RecordStabilityMetrics(metrics_providers.get(), base::TimeDelta(), + log.RecordStabilityMetrics(metrics_providers, base::TimeDelta(), base::TimeDelta()); const SystemProfileProto_Stability& stability = log.system_profile().stability();
diff --git a/components/metrics/metrics_service.cc b/components/metrics/metrics_service.cc index ed3a4d9..26c0d9b1 100644 --- a/components/metrics/metrics_service.cc +++ b/components/metrics/metrics_service.cc
@@ -316,7 +316,7 @@ base::Unretained(client_)))); } - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->Init(); } @@ -377,7 +377,7 @@ if (!log_manager_.current_log()) OpenNewLog(); - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->OnRecordingEnabled(); base::RemoveActionCallback(action_callback_); @@ -395,7 +395,7 @@ base::RemoveActionCallback(action_callback_); - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->OnRecordingDisabled(); PushPendingLogsToPersistentStorage(); @@ -469,7 +469,7 @@ // Give providers a chance to persist histograms as part of being // backgrounded. - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->OnAppEnterBackground(); // At this point, there's no way of knowing when the process will be @@ -519,7 +519,7 @@ } void MetricsService::ClearSavedStabilityMetrics() { - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->ClearSavedStabilityMetrics(); // Reset the prefs that are managed by MetricsService/MetricsLog directly. @@ -707,7 +707,7 @@ void MetricsService::NotifyOnDidCreateMetricsLog() { DCHECK(thread_checker_.CalledOnValidThread()); - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->OnDidCreateMetricsLog(); } @@ -768,10 +768,10 @@ base::TimeDelta incremental_uptime; base::TimeDelta uptime; GetUptimes(local_state_, &incremental_uptime, &uptime); - current_log->RecordStabilityMetrics(metrics_providers_.get(), - incremental_uptime, uptime); + current_log->RecordStabilityMetrics(metrics_providers_, incremental_uptime, + uptime); - current_log->RecordGeneralMetrics(metrics_providers_.get()); + current_log->RecordGeneralMetrics(metrics_providers_); RecordCurrentHistograms(); DVLOG(1) << "Generated an ongoing log."; log_manager_.FinishCurrentLog(); @@ -944,7 +944,7 @@ // response) in case they do any kind of setup work in preparation for // the later call to RecordInitialHistogramSnapshots(). bool has_stability_metrics = false; - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) has_stability_metrics |= provider->HasInitialStabilityMetrics(); return has_stability_metrics; @@ -973,7 +973,7 @@ // Note: Some stability providers may record stability stats via histograms, // so this call has to be after BeginLoggingWithLog(). log_manager_.current_log()->RecordStabilityMetrics( - metrics_providers_.get(), base::TimeDelta(), base::TimeDelta()); + metrics_providers_, base::TimeDelta(), base::TimeDelta()); RecordCurrentStabilityHistograms(); // Note: RecordGeneralMetrics() intentionally not called since this log is for @@ -1006,9 +1006,9 @@ // Note: Some stability providers may record stability stats via histograms, // so this call has to be after BeginLoggingWithLog(). MetricsLog* current_log = log_manager_.current_log(); - current_log->RecordStabilityMetrics(metrics_providers_.get(), - base::TimeDelta(), base::TimeDelta()); - current_log->RecordGeneralMetrics(metrics_providers_.get()); + current_log->RecordStabilityMetrics(metrics_providers_, base::TimeDelta(), + base::TimeDelta()); + current_log->RecordGeneralMetrics(metrics_providers_); RecordCurrentHistograms(); DVLOG(1) << "Generated an initial log."; @@ -1215,7 +1215,7 @@ std::vector<variations::ActiveGroupId> synthetic_trials; GetSyntheticFieldTrialsOlderThan(log->creation_time(), &synthetic_trials); std::string serialized_environment = log->RecordEnvironment( - metrics_providers_.get(), synthetic_trials, GetInstallDate(), + metrics_providers_, synthetic_trials, GetInstallDate(), GetMetricsReportingEnabledDate()); client_->OnEnvironmentUpdate(&serialized_environment); } @@ -1229,7 +1229,7 @@ histogram_snapshot_manager_.PrepareDeltas( base::StatisticsRecorder::begin(true), base::StatisticsRecorder::end(), base::Histogram::kNoFlags, base::Histogram::kUmaTargetedHistogramFlag); - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->RecordHistogramSnapshots(&histogram_snapshot_manager_); } @@ -1240,7 +1240,7 @@ histogram_snapshot_manager_.PrepareDeltas( base::StatisticsRecorder::begin(true), base::StatisticsRecorder::end(), base::Histogram::kNoFlags, base::Histogram::kUmaStabilityHistogramFlag); - for (MetricsProvider* provider : metrics_providers_) + for (auto& provider : metrics_providers_) provider->RecordInitialHistogramSnapshots(&histogram_snapshot_manager_); }
diff --git a/components/metrics/metrics_service.h b/components/metrics/metrics_service.h index 36427b1..f283b23 100644 --- a/components/metrics/metrics_service.h +++ b/components/metrics/metrics_service.h
@@ -17,7 +17,6 @@ #include "base/gtest_prod_util.h" #include "base/macros.h" -#include "base/memory/scoped_vector.h" #include "base/memory/weak_ptr.h" #include "base/metrics/field_trial.h" #include "base/metrics/histogram_flattener.h" @@ -380,7 +379,7 @@ MetricsServiceClient* const client_; // Registered metrics providers. - ScopedVector<MetricsProvider> metrics_providers_; + std::vector<std::unique_ptr<MetricsProvider>> metrics_providers_; PrefService* local_state_;
diff --git a/components/metrics/metrics_service_unittest.cc b/components/metrics/metrics_service_unittest.cc index f1108c7..f4a264ca 100644 --- a/components/metrics/metrics_service_unittest.cc +++ b/components/metrics/metrics_service_unittest.cc
@@ -207,7 +207,7 @@ // saved from a previous session. TestMetricsServiceClient client; TestMetricsLog log("client", 1, &client, GetLocalState()); - log.RecordEnvironment(std::vector<MetricsProvider*>(), + log.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), std::vector<variations::ActiveGroupId>(), 0, 0); // Record stability build time and version from previous session, so that @@ -279,7 +279,7 @@ // saved from a previous session. TestMetricsServiceClient client; TestMetricsLog log("client", 1, &client, GetLocalState()); - log.RecordEnvironment(std::vector<MetricsProvider*>(), + log.RecordEnvironment(std::vector<std::unique_ptr<MetricsProvider>>(), std::vector<variations::ActiveGroupId>(), 0, 0); // Record stability build time and version from previous session, so that
diff --git a/components/metrics/serialization/serialization_utils.cc b/components/metrics/serialization/serialization_utils.cc index e9ae83e0..39290a4 100644 --- a/components/metrics/serialization/serialization_utils.cc +++ b/components/metrics/serialization/serialization_utils.cc
@@ -8,16 +8,12 @@ #include <stdint.h> #include <sys/file.h> -#include <memory> -#include <string> #include <utility> -#include <vector> #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/files/scoped_file.h" #include "base/logging.h" -#include "base/memory/scoped_vector.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" #include "components/metrics/serialization/metric_sample.h" @@ -125,7 +121,7 @@ void SerializationUtils::ReadAndTruncateMetricsFromFile( const std::string& filename, - ScopedVector<MetricSample>* metrics) { + std::vector<std::unique_ptr<MetricSample>>* metrics) { struct stat stat_buf; int result;
diff --git a/components/metrics/serialization/serialization_utils.h b/components/metrics/serialization/serialization_utils.h index 202f89c8..c741cb2f 100644 --- a/components/metrics/serialization/serialization_utils.h +++ b/components/metrics/serialization/serialization_utils.h
@@ -7,8 +7,7 @@ #include <memory> #include <string> - -#include "base/memory/scoped_vector.h" +#include <vector> namespace metrics { @@ -24,8 +23,9 @@ std::unique_ptr<MetricSample> ParseSample(const std::string& sample); // Reads all samples from a file and truncate the file when done. -void ReadAndTruncateMetricsFromFile(const std::string& filename, - ScopedVector<MetricSample>* metrics); +void ReadAndTruncateMetricsFromFile( + const std::string& filename, + std::vector<std::unique_ptr<MetricSample>>* metrics); // Serializes a sample and write it to filename. // The format for the message is:
diff --git a/components/metrics/serialization/serialization_utils_unittest.cc b/components/metrics/serialization/serialization_utils_unittest.cc index 9d1e3602..3af04a6 100644 --- a/components/metrics/serialization/serialization_utils_unittest.cc +++ b/components/metrics/serialization/serialization_utils_unittest.cc
@@ -128,10 +128,10 @@ std::unique_ptr<MetricSample> crash = MetricSample::CrashSample("test"); SerializationUtils::WriteMetricToFile(*crash.get(), filename); - ScopedVector<MetricSample> samples; + std::vector<std::unique_ptr<MetricSample>> samples; SerializationUtils::ReadAndTruncateMetricsFromFile(filename, &samples); ASSERT_EQ(size_t(1), samples.size()); - ASSERT_TRUE(samples[0] != NULL); + ASSERT_TRUE(samples[0].get() != nullptr); EXPECT_TRUE(crash->IsEqual(*samples[0])); } @@ -151,11 +151,11 @@ SerializationUtils::WriteMetricToFile(*lhist.get(), filename); SerializationUtils::WriteMetricToFile(*shist.get(), filename); SerializationUtils::WriteMetricToFile(*action.get(), filename); - ScopedVector<MetricSample> vect; + std::vector<std::unique_ptr<MetricSample>> vect; SerializationUtils::ReadAndTruncateMetricsFromFile(filename, &vect); ASSERT_EQ(vect.size(), size_t(5)); - for (MetricSample* sample : vect) { - ASSERT_NE(nullptr, sample); + for (auto& sample : vect) { + ASSERT_NE(nullptr, sample.get()); } EXPECT_TRUE(hist->IsEqual(*vect[0])); EXPECT_TRUE(crash->IsEqual(*vect[1]));
diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUILD.gn index 61411229..0b0da28 100644 --- a/components/search_engines/BUILD.gn +++ b/components/search_engines/BUILD.gn
@@ -134,6 +134,7 @@ "//components/sync:test_support_model", "//components/sync_preferences:test_support", "//components/webdata/common", + "//net:net", "//sql", "//testing/gmock", "//testing/gtest",
diff --git a/components/search_engines/default_search_manager.cc b/components/search_engines/default_search_manager.cc index 869ce645..c448ebe 100644 --- a/components/search_engines/default_search_manager.cc +++ b/components/search_engines/default_search_manager.cc
@@ -123,7 +123,7 @@ g_fallback_search_engines_disabled = disabled; } -TemplateURLData* DefaultSearchManager::GetDefaultSearchEngine( +const TemplateURLData* DefaultSearchManager::GetDefaultSearchEngine( Source* source) const { if (default_search_controlled_by_policy_) { if (source) @@ -143,8 +143,7 @@ if (source) *source = FROM_FALLBACK; - return g_fallback_search_engines_disabled ? - NULL : fallback_default_search_.get(); + return GetFallbackSearchEngine(); } DefaultSearchManager::Source @@ -154,6 +153,11 @@ return source; } +const TemplateURLData* DefaultSearchManager::GetFallbackSearchEngine() const { + return g_fallback_search_engines_disabled ? nullptr + : fallback_default_search_.get(); +} + void DefaultSearchManager::SetUserSelectedDefaultSearchEngine( const TemplateURLData& data) { if (!pref_service_) { @@ -204,7 +208,7 @@ void DefaultSearchManager::OnOverridesPrefChanged() { LoadPrepopulatedDefaultSearch(); - TemplateURLData* effective_data = GetDefaultSearchEngine(NULL); + const TemplateURLData* effective_data = GetDefaultSearchEngine(nullptr); if (effective_data && effective_data->prepopulate_id) { // A user-selected, policy-selected or fallback pre-populated engine is // active and may have changed with this event. @@ -280,7 +284,7 @@ void DefaultSearchManager::NotifyObserver() { if (!change_observer_.is_null()) { Source source = FROM_FALLBACK; - TemplateURLData* data = GetDefaultSearchEngine(&source); + const TemplateURLData* data = GetDefaultSearchEngine(&source); change_observer_.Run(data, source); } }
diff --git a/components/search_engines/default_search_manager.h b/components/search_engines/default_search_manager.h index aadc6a4..94c699a0 100644 --- a/components/search_engines/default_search_manager.h +++ b/components/search_engines/default_search_manager.h
@@ -63,9 +63,15 @@ static const char kDisabledByPolicy[]; enum Source { + // Default search engine chosen either from prepopulated engines set for + // current country or overriden from kSearchProviderOverrides preference. FROM_FALLBACK = 0, + // User selected engine. FROM_USER, + // Search engine set by extension overriding default search. FROM_EXTENSION, + // Search engine controlled externally through enterprise configuration + // management (e.g. windows group policy). FROM_POLICY, }; @@ -84,18 +90,21 @@ PrefValueMap* pref_value_map); // Testing code can call this with |disabled| set to true to cause - // GetDefaultSearchEngine() to return NULL instead of + // GetDefaultSearchEngine() to return nullptr instead of // |fallback_default_search_| in cases where the DSE source is FROM_FALLBACK. static void SetFallbackSearchEnginesDisabledForTesting(bool disabled); // Gets a pointer to the current Default Search Engine. If NULL, indicates // that Default Search is explicitly disabled. |source|, if not NULL, will be // filled in with the source of the result. - TemplateURLData* GetDefaultSearchEngine(Source* source) const; + const TemplateURLData* GetDefaultSearchEngine(Source* source) const; // Gets the source of the current Default Search Engine value. Source GetDefaultSearchEngineSource() const; + // Returns a pointer to the fallback engine. + const TemplateURLData* GetFallbackSearchEngine() const; + // Write default search provider data to |pref_service_|. void SetUserSelectedDefaultSearchEngine(const TemplateURLData& data);
diff --git a/components/search_engines/default_search_manager_unittest.cc b/components/search_engines/default_search_manager_unittest.cc index 1807983..3d0bea1 100644 --- a/components/search_engines/default_search_manager_unittest.cc +++ b/components/search_engines/default_search_manager_unittest.cc
@@ -118,7 +118,7 @@ data.last_modified = base::Time(); manager.SetUserSelectedDefaultSearchEngine(data); - TemplateURLData* read_data = manager.GetDefaultSearchEngine(NULL); + const TemplateURLData* read_data = manager.GetDefaultSearchEngine(nullptr); ExpectSimilar(&data, read_data); }
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc index 0a457d1..a65e305 100644 --- a/components/search_engines/template_url.cc +++ b/components/search_engines/template_url.cc
@@ -160,8 +160,18 @@ (*(param.rbegin()) == kEndParameter); } -} // namespace +// Special case for search_terms_replacement_key comparison, because of +// its special initialization in TemplateUrl constructor. +bool SearchTermsReplacementKeysMatch(const std::string& key1, + const std::string& key2) { + const auto IsInstantExtended = [](const std::string& key) { + return (key == google_util::kInstantExtendedAPIParam) || + (key == google_util::kGoogleInstantExtendedEnabledKeyFull); + }; + return (key1 == key2) || (IsInstantExtended(key1) && IsInstantExtended(key2)); +} +} // namespace // TemplateURLRef::SearchTermsArgs -------------------------------------------- @@ -605,7 +615,7 @@ } else if (parameter == "google:instantExtendedEnabledParameter") { replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED, start)); - } else if (parameter == "google:instantExtendedEnabledKey") { + } else if (parameter == google_util::kGoogleInstantExtendedEnabledKey) { url->insert(start, google_util::kInstantExtendedAPIParam); } else if (parameter == "google:iOSSearchLanguage") { replacements->push_back(Replacement(GOOGLE_IOS_SEARCH_LANGUAGE, start)); @@ -1159,9 +1169,8 @@ SetPrepopulateId(data_.prepopulate_id); if (data_.search_terms_replacement_key == - "{google:instantExtendedEnabledKey}") { + google_util::kGoogleInstantExtendedEnabledKeyFull) data_.search_terms_replacement_key = google_util::kInstantExtendedAPIParam; - } } TemplateURL::~TemplateURL() { @@ -1206,23 +1215,23 @@ return !t_url && !data; return (t_url->short_name() == data->short_name()) && - t_url->HasSameKeywordAs(*data, search_terms_data) && - (t_url->url() == data->url()) && - (t_url->suggestions_url() == data->suggestions_url) && - (t_url->instant_url() == data->instant_url) && - (t_url->image_url() == data->image_url) && - (t_url->new_tab_url() == data->new_tab_url) && - (t_url->search_url_post_params() == data->search_url_post_params) && - (t_url->suggestions_url_post_params() == + t_url->HasSameKeywordAs(*data, search_terms_data) && + (t_url->url() == data->url()) && + (t_url->suggestions_url() == data->suggestions_url) && + (t_url->instant_url() == data->instant_url) && + (t_url->image_url() == data->image_url) && + (t_url->new_tab_url() == data->new_tab_url) && + (t_url->search_url_post_params() == data->search_url_post_params) && + (t_url->suggestions_url_post_params() == data->suggestions_url_post_params) && - (t_url->instant_url_post_params() == data->instant_url_post_params) && - (t_url->image_url_post_params() == data->image_url_post_params) && - (t_url->favicon_url() == data->favicon_url) && - (t_url->safe_for_autoreplace() == data->safe_for_autoreplace) && - (t_url->input_encodings() == data->input_encodings) && - (t_url->alternate_urls() == data->alternate_urls) && - (t_url->search_terms_replacement_key() == - data->search_terms_replacement_key); + (t_url->instant_url_post_params() == data->instant_url_post_params) && + (t_url->image_url_post_params() == data->image_url_post_params) && + (t_url->favicon_url() == data->favicon_url) && + (t_url->safe_for_autoreplace() == data->safe_for_autoreplace) && + (t_url->input_encodings() == data->input_encodings) && + (t_url->alternate_urls() == data->alternate_urls) && + SearchTermsReplacementKeysMatch(t_url->search_terms_replacement_key(), + data->search_terms_replacement_key); } base::string16 TemplateURL::AdjustedShortNameForLocaleDirection() const {
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc index 0e77d27..be5527fc 100644 --- a/components/search_engines/template_url_service.cc +++ b/components/search_engines/template_url_service.cc
@@ -692,6 +692,23 @@ // ApplyDefaultSearchChange will notify observers once it is done. ApplyDefaultSearchChange(new_dse, source); } else { + // Set fallback engine as user selected, because repair is considered a user + // action and we are expected to sync new fallback engine to other devices. + const TemplateURLData* fallback_engine_data = + default_search_manager_.GetFallbackSearchEngine(); + if (fallback_engine_data) { + TemplateURL* fallback_engine = + FindPrepopulatedTemplateURL(fallback_engine_data->prepopulate_id); + // The fallback engine is created from built-in/override data that should + // always have a prepopulate ID, so this engine should always exist after + // a repair." + DCHECK(fallback_engine); + // Write the fallback engine's GUID to prefs, which will cause + // OnSyncedDefaultSearchProviderGUIDChanged() to set it as the new + // user-selected engine. + prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID, + fallback_engine->sync_guid()); + } NotifyObservers(); } } @@ -1391,7 +1408,7 @@ } DefaultSearchManager::Source source = DefaultSearchManager::FROM_USER; - TemplateURLData* dse = + const TemplateURLData* dse = default_search_manager_.GetDefaultSearchEngine(&source); ApplyDefaultSearchChange(dse, source); @@ -1937,6 +1954,11 @@ source == DefaultSearchManager::FROM_POLICY ? data : nullptr); } + // |default_search_provider_source_| must be set before calling + // UpdateNoNotify(), since that function needs to know the source of the + // update in question. + default_search_provider_source_ = source; + if (!data) { default_search_provider_ = nullptr; } else if (source == DefaultSearchManager::FROM_EXTENSION) { @@ -1987,11 +2009,8 @@ prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID, default_search_provider_->sync_guid()); } - } - default_search_provider_source_ = source; - bool changed = default_search_provider_ != previous_default_search_engine; if (changed) RequestGoogleURLTrackerServerCheckIfNecessary();
diff --git a/components/search_engines/template_url_unittest.cc b/components/search_engines/template_url_unittest.cc index 47630f3..170807f1 100644 --- a/components/search_engines/template_url_unittest.cc +++ b/components/search_engines/template_url_unittest.cc
@@ -10,12 +10,14 @@ #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" +#include "components/google/core/browser/google_util.h" #include "components/metrics/proto/omnibox_event.pb.h" #include "components/metrics/proto/omnibox_input_type.pb.h" #include "components/search_engines/search_engines_switches.h" #include "components/search_engines/search_terms_data.h" #include "components/search_engines/template_url.h" #include "components/search_engines/testing_search_terms_data.h" +#include "net/base/url_util.h" #include "testing/gtest/include/gtest/gtest.h" using base::ASCIIToUTF16; @@ -1868,3 +1870,43 @@ search_terms_data_.set_google_base_url("http://www.google.com/"); } + +// search_terms_replacement_key param of TemplateURLData with value of +// "{google:instantExtendedEnabledKey}" is replaced inside TemplateUrl +// constructor so must be handled specially inside MatchesData. +// Test that TemplateURL object created with such param matches correctly its +// TemplateURLData. +TEST_F(TemplateURLTest, MatchesData) { + TemplateURLData data; + data.search_terms_replacement_key = + google_util::kGoogleInstantExtendedEnabledKeyFull; + TemplateURL url(data); + EXPECT_NE(google_util::kGoogleInstantExtendedEnabledKeyFull, + url.search_terms_replacement_key()); + EXPECT_TRUE(TemplateURL::MatchesData(&url, &data, search_terms_data_)); +} + +// Test for correct replacement of GoogleInstantExtendedEnabledKey param. +TEST_F(TemplateURLTest, GoogleInstantExtendedEnabledReplacement) { + TemplateURLData data; + data.SetURL(std::string("https://www.google.com?") + + google_util::kGoogleInstantExtendedEnabledKeyFull + + "&q={searchTerms}"); + data.SetShortName(ASCIIToUTF16("Google")); + data.SetKeyword(ASCIIToUTF16("google.com")); + data.search_terms_replacement_key = + google_util::kGoogleInstantExtendedEnabledKeyFull; + TemplateURL turl(data); + EXPECT_TRUE(TemplateURL::MatchesData(&turl, &data, search_terms_data_)); + // Expect that replacement of search_terms_replacement_key in TemplateURL + // constructor is correct. + EXPECT_EQ(google_util::kInstantExtendedAPIParam, + turl.search_terms_replacement_key()); + // Expect that replacement of {google:instantExtendedEnabledKey} in search url + // is correct. + GURL search_generated = turl.GenerateSearchURL(search_terms_data_); + EXPECT_TRUE(turl.HasSearchTermsReplacementKey(search_generated)); + net::QueryIterator it(search_generated); + ASSERT_FALSE(it.IsAtEnd()); + EXPECT_EQ(google_util::kInstantExtendedAPIParam, it.GetKey()); +}
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler.cc b/content/browser/renderer_host/media/audio_output_authorization_handler.cc index cd9f959..3ed7c30 100644 --- a/content/browser/renderer_host/media/audio_output_authorization_handler.cc +++ b/content/browser/renderer_host/media/audio_output_authorization_handler.cc
@@ -10,6 +10,7 @@ #include "content/browser/renderer_host/media/audio_input_device_manager.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/media_device_id.h" +#include "media/audio/audio_system.h" #include "media/base/limits.h" namespace { @@ -34,26 +35,16 @@ : media::AudioParameters::UnavailableDeviceParams(); } -media::AudioParameters GetDeviceParametersOnDeviceThread( - media::AudioManager* audio_manager, - const std::string& unique_id) { - DCHECK(audio_manager->GetTaskRunner()->BelongsToCurrentThread()); - - return media::AudioDeviceDescription::IsDefaultDevice(unique_id) - ? audio_manager->GetDefaultOutputStreamParameters() - : audio_manager->GetOutputStreamParameters(unique_id); -} - } // namespace namespace content { AudioOutputAuthorizationHandler::AudioOutputAuthorizationHandler( - media::AudioManager* audio_manager, + media::AudioSystem* audio_system, MediaStreamManager* media_stream_manager, int render_process_id, const std::string& salt) - : audio_manager_(audio_manager), + : audio_system_(audio_system), media_stream_manager_(media_stream_manager), permission_checker_(base::MakeUnique<MediaDevicesPermissionChecker>()), render_process_id_(render_process_id), @@ -191,18 +182,8 @@ const std::string& raw_device_id) const { DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK(!raw_device_id.empty()); - base::PostTaskAndReplyWithResult( - // Note: In the case of a shutdown, the task to delete |audio_manager_| is - // posted to the audio thread after the IO thread is stopped, so the task - // to delete the audio manager hasn't been posted yet. This means that - // unretained is safe here. - // Mac is a special case. Since the audio manager lives on the UI thread - // on Mac, this task is posted to the UI thread, but tasks posted to the - // UI task runner will be ignored when the shutdown has progressed to - // deleting the audio manager, so this is still safe. - audio_manager_->GetTaskRunner(), FROM_HERE, - base::Bind(&GetDeviceParametersOnDeviceThread, - base::Unretained(audio_manager_), raw_device_id), + audio_system_->GetOutputStreamParameters( + raw_device_id, base::Bind(&AudioOutputAuthorizationHandler::DeviceParametersReceived, weak_factory_.GetWeakPtr(), std::move(cb), false, raw_device_id));
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler.h b/content/browser/renderer_host/media/audio_output_authorization_handler.h index c0b5640..d7c99fb5 100644 --- a/content/browser/renderer_host/media/audio_output_authorization_handler.h +++ b/content/browser/renderer_host/media/audio_output_authorization_handler.h
@@ -14,10 +14,13 @@ #include "content/browser/media/media_devices_permission_checker.h" #include "content/browser/renderer_host/media/media_stream_manager.h" #include "media/audio/audio_device_description.h" -#include "media/audio/audio_manager.h" #include "media/base/audio_parameters.h" #include "media/base/output_device_info.h" +namespace media { +class AudioSystem; +} + namespace content { // This class, which lives on the IO thread, handles the logic of an IPC device @@ -40,7 +43,7 @@ const media::AudioParameters& params, const std::string& raw_device_id)>; - AudioOutputAuthorizationHandler(media::AudioManager* audio_manager, + AudioOutputAuthorizationHandler(media::AudioSystem* audio_system, MediaStreamManager* media_stream_manager, int render_process_id_, const std::string& salt); @@ -84,7 +87,7 @@ const std::string& raw_device_id, const media::AudioParameters& output_params) const; - media::AudioManager* audio_manager_; + media::AudioSystem* audio_system_; MediaStreamManager* const media_stream_manager_; std::unique_ptr<MediaDevicesPermissionChecker> permission_checker_; const int render_process_id_;
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc b/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc index f82855a9..4e34099 100644 --- a/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc +++ b/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
@@ -18,6 +18,7 @@ #include "content/public/test/test_browser_context.h" #include "content/public/test/test_browser_thread_bundle.h" #include "media/audio/audio_device_description.h" +#include "media/audio/audio_system_impl.h" #include "media/audio/fake_audio_log_factory.h" #include "media/audio/fake_audio_manager.h" #include "media/base/media_switches.h" @@ -66,6 +67,7 @@ audio_manager_.reset(new media::FakeAudioManager( audio_thread_->task_runner(), audio_thread_->worker_task_runner(), &log_factory_)); + audio_system_ = media::AudioSystemImpl::Create(audio_manager_.get()); media_stream_manager_ = base::MakeUnique<MediaStreamManager>(audio_manager_.get()); // Make sure everything is done initializing: @@ -79,7 +81,7 @@ return media_stream_manager_.get(); } - media::AudioManager* GetAudioManager() { return audio_manager_.get(); } + media::AudioSystem* GetAudioSystem() { return audio_system_.get(); } void SyncWithAllThreads() { // New tasks might be posted while we are syncing, but in @@ -140,6 +142,7 @@ std::unique_ptr<AudioManagerThread> audio_thread_; media::FakeAudioLogFactory log_factory_; media::ScopedAudioManagerPtr audio_manager_; + std::unique_ptr<media::AudioSystem> audio_system_; DISALLOW_COPY_AND_ASSIGN(AudioOutputAuthorizationHandlerTest); }; @@ -151,7 +154,7 @@ .Times(1); std::unique_ptr<AudioOutputAuthorizationHandler> handler = base::MakeUnique<AudioOutputAuthorizationHandler>( - GetAudioManager(), GetMediaStreamManager(), kRenderProcessId, kSalt); + GetAudioSystem(), GetMediaStreamManager(), kRenderProcessId, kSalt); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, @@ -172,7 +175,7 @@ .Times(1); std::unique_ptr<AudioOutputAuthorizationHandler> handler = base::MakeUnique<AudioOutputAuthorizationHandler>( - GetAudioManager(), GetMediaStreamManager(), kRenderProcessId, kSalt); + GetAudioSystem(), GetMediaStreamManager(), kRenderProcessId, kSalt); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, @@ -194,7 +197,7 @@ MockAuthorizationCallback listener; std::unique_ptr<AudioOutputAuthorizationHandler> handler = base::MakeUnique<AudioOutputAuthorizationHandler>( - GetAudioManager(), GetMediaStreamManager(), kRenderProcessId, kSalt); + GetAudioSystem(), GetMediaStreamManager(), kRenderProcessId, kSalt); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::Bind( @@ -225,7 +228,7 @@ MockAuthorizationCallback listener; std::unique_ptr<AudioOutputAuthorizationHandler> handler = base::MakeUnique<AudioOutputAuthorizationHandler>( - GetAudioManager(), GetMediaStreamManager(), kRenderProcessId, kSalt); + GetAudioSystem(), GetMediaStreamManager(), kRenderProcessId, kSalt); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::Bind( @@ -255,7 +258,7 @@ MockAuthorizationCallback listener; std::unique_ptr<AudioOutputAuthorizationHandler> handler = base::MakeUnique<AudioOutputAuthorizationHandler>( - GetAudioManager(), GetMediaStreamManager(), RPH->GetID(), kSalt); + GetAudioSystem(), GetMediaStreamManager(), RPH->GetID(), kSalt); EXPECT_EQ(RPH->bad_msg_count(), 0); EXPECT_CALL(listener, @@ -290,7 +293,7 @@ MockAuthorizationCallback listener; std::unique_ptr<AudioOutputAuthorizationHandler> handler = base::MakeUnique<AudioOutputAuthorizationHandler>( - GetAudioManager(), GetMediaStreamManager(), RPH->GetID(), kSalt); + GetAudioSystem(), GetMediaStreamManager(), RPH->GetID(), kSalt); EXPECT_EQ(RPH->bad_msg_count(), 0); EXPECT_CALL(listener, Run(_, _, _, _)).Times(0); @@ -314,7 +317,7 @@ MockAuthorizationCallback listener; std::unique_ptr<AudioOutputAuthorizationHandler> handler = base::MakeUnique<AudioOutputAuthorizationHandler>( - GetAudioManager(), GetMediaStreamManager(), kRenderProcessId, kSalt); + GetAudioSystem(), GetMediaStreamManager(), kRenderProcessId, kSalt); EXPECT_CALL(listener, Run(media::OUTPUT_DEVICE_STATUS_OK, false, _, kDefaultDeviceId))
diff --git a/content/browser/renderer_host/media/audio_renderer_host.cc b/content/browser/renderer_host/media/audio_renderer_host.cc index 6a99670..0f4f84d7 100644 --- a/content/browser/renderer_host/media/audio_renderer_host.cc +++ b/content/browser/renderer_host/media/audio_renderer_host.cc
@@ -61,6 +61,7 @@ AudioRendererHost::AudioRendererHost(int render_process_id, media::AudioManager* audio_manager, + media::AudioSystem* audio_system, AudioMirroringManager* mirroring_manager, MediaStreamManager* media_stream_manager, const std::string& salt) @@ -71,7 +72,7 @@ media_stream_manager_(media_stream_manager), salt_(salt), validate_render_frame_id_function_(&ValidateRenderFrameId), - authorization_handler_(audio_manager_, + authorization_handler_(audio_system, media_stream_manager, render_process_id_, salt) {
diff --git a/content/browser/renderer_host/media/audio_renderer_host.h b/content/browser/renderer_host/media/audio_renderer_host.h index 0d0ca36..dda8b38 100644 --- a/content/browser/renderer_host/media/audio_renderer_host.h +++ b/content/browser/renderer_host/media/audio_renderer_host.h
@@ -60,6 +60,7 @@ namespace media { class AudioManager; class AudioParameters; +class AudioSystem; } namespace content { @@ -74,6 +75,7 @@ // Called from UI thread from the owner of this object. AudioRendererHost(int render_process_id, media::AudioManager* audio_manager, + media::AudioSystem* audio_system, AudioMirroringManager* mirroring_manager, MediaStreamManager* media_stream_manager, const std::string& salt);
diff --git a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc index 41d6ffb36..8d44ee6 100644 --- a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc +++ b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
@@ -26,6 +26,7 @@ #include "content/public/test/test_browser_context.h" #include "content/public/test/test_browser_thread_bundle.h" #include "ipc/ipc_message_utils.h" +#include "media/audio/audio_system_impl.h" #include "media/audio/fake_audio_log_factory.h" #include "media/audio/fake_audio_manager.h" #include "media/base/bind_to_current_loop.h" @@ -128,11 +129,13 @@ MockAudioRendererHost(base::RunLoop* auth_run_loop, int render_process_id, media::AudioManager* audio_manager, + media::AudioSystem* audio_system, AudioMirroringManager* mirroring_manager, MediaStreamManager* media_stream_manager, const std::string& salt) : AudioRendererHost(render_process_id, audio_manager, + audio_system, mirroring_manager, media_stream_manager, salt), @@ -235,13 +238,15 @@ audio_manager_(base::MakeUnique<FakeAudioManagerWithAssociations>( base::ThreadTaskRunnerHandle::Get(), log_factory.get())), + audio_system_(media::AudioSystemImpl::Create(audio_manager_.get())), render_process_host_(&browser_context_, &auth_run_loop_) { base::CommandLine::ForCurrentProcess()->AppendSwitch( switches::kUseFakeDeviceForMediaStream); media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get())); host_ = new MockAudioRendererHost( &auth_run_loop_, render_process_host_.GetID(), audio_manager_.get(), - &mirroring_manager_, media_stream_manager_.get(), kSalt); + audio_system_.get(), &mirroring_manager_, media_stream_manager_.get(), + kSalt); // Simulate IPC channel connected. host_->set_peer_process_for_testing(base::Process::Current()); @@ -511,6 +516,7 @@ TestBrowserContext browser_context_; std::unique_ptr<media::FakeAudioLogFactory> log_factory; std::unique_ptr<FakeAudioManagerWithAssociations> audio_manager_; + std::unique_ptr<media::AudioSystem> audio_system_; MockAudioMirroringManager mirroring_manager_; base::RunLoop auth_run_loop_; MockRenderProcessHostWithSignaling render_process_host_;
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 84dcc3b56..05193e9 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1089,8 +1089,8 @@ BrowserMainLoop::GetInstance()->user_input_monitor()); AddFilter(audio_input_renderer_host_.get()); audio_renderer_host_ = new AudioRendererHost( - GetID(), audio_manager, AudioMirroringManager::GetInstance(), - media_stream_manager, + GetID(), audio_manager, BrowserMainLoop::GetInstance()->audio_system(), + AudioMirroringManager::GetInstance(), media_stream_manager, browser_context->GetResourceContext()->GetMediaDeviceIDSalt()); AddFilter(audio_renderer_host_.get()); AddFilter(
diff --git a/ios/chrome/today_extension/today_metrics_logger.mm b/ios/chrome/today_extension/today_metrics_logger.mm index bb2422b..17b47bc 100644 --- a/ios/chrome/today_extension/today_metrics_logger.mm +++ b/ios/chrome/today_extension/today_metrics_logger.mm
@@ -20,6 +20,7 @@ #include "components/metrics/metrics_log.h" #include "components/metrics/metrics_log_uploader.h" #include "components/metrics/metrics_pref_names.h" +#include "components/metrics/metrics_provider.h" #include "components/metrics/metrics_service_client.h" #include "components/metrics/net/version_utils.h" #include "components/prefs/json_pref_store.h" @@ -247,10 +248,10 @@ metrics_service_client_.get(), pref_service_.get())); - log_->RecordEnvironment(std::vector<metrics::MetricsProvider*>(), - std::vector<variations::ActiveGroupId>(), - [install_date longLongValue], - [enabled_date longLongValue]); + log_->RecordEnvironment( + std::vector<std::unique_ptr<metrics::MetricsProvider>>(), + std::vector<variations::ActiveGroupId>(), [install_date longLongValue], + [enabled_date longLongValue]); return true; }
diff --git a/media/audio/audio_system.h b/media/audio/audio_system.h index a11b030..76319cc 100644 --- a/media/audio/audio_system.h +++ b/media/audio/audio_system.h
@@ -25,11 +25,26 @@ virtual ~AudioSystem(); - // Callback will receive invalid parameters if the device is not found. + // Callback may receive invalid parameters, it means the specified device is + // not found. This is best-effort: valid parameters do not guarantee existance + // of the device. + // TODO(olka,tommi): fix all AudioManager implementations to return invalid + // parameters if the device is not found. virtual void GetInputStreamParameters( const std::string& device_id, OnAudioParamsCallback on_params_cb) const = 0; + // If media::AudioDeviceDescription::IsDefaultDevice(device_id) is true, + // callback will receive the parameters of the default output device. + // Callback may receive invalid parameters, it means the specified device is + // not found. This is best-effort: valid parameters do not guarantee existance + // of the device. + // TODO(olka,tommi): fix all AudioManager implementations to return invalid + // parameters if the device is not found. + virtual void GetOutputStreamParameters( + const std::string& device_id, + OnAudioParamsCallback on_params_cb) const = 0; + virtual void HasInputDevices(OnBoolCallback on_has_devices_cb) const = 0; // Must not be used for anything but stream creation.
diff --git a/media/audio/audio_system_impl.cc b/media/audio/audio_system_impl.cc index fdffa70f..a6c51a6 100644 --- a/media/audio/audio_system_impl.cc +++ b/media/audio/audio_system_impl.cc
@@ -7,6 +7,7 @@ #include "base/memory/ptr_util.h" #include "base/single_thread_task_runner.h" #include "base/task_runner_util.h" +#include "media/audio/audio_device_description.h" #include "media/audio/audio_manager.h" // Using base::Unretained for |audio_manager_| is safe since it is deleted after @@ -21,13 +22,29 @@ DCHECK(audio_manager->GetTaskRunner()->BelongsToCurrentThread()); // TODO(olka): remove this when AudioManager::GetInputStreamParameters() - // works this way on all the platforms. + // returns invalid parameters if the device is not found. if (!audio_manager->HasAudioInputDevices()) return AudioParameters(); return audio_manager->GetInputStreamParameters(device_id); } +AudioParameters GetOutputParametersOnDeviceThread( + AudioManager* audio_manager, + const std::string& device_id) { + DCHECK(audio_manager->GetTaskRunner()->BelongsToCurrentThread()); + + // TODO(olka): remove this when + // AudioManager::Get[Default]OutputStreamParameters() returns invalid + // parameters if the device is not found. + if (!audio_manager->HasAudioOutputDevices()) + return AudioParameters(); + + return media::AudioDeviceDescription::IsDefaultDevice(device_id) + ? audio_manager->GetDefaultOutputStreamParameters() + : audio_manager->GetOutputStreamParameters(device_id); +} + } // namespace AudioSystemImpl::AudioSystemImpl(AudioManager* audio_manager) @@ -62,6 +79,22 @@ std::move(on_params_cb)); } +void AudioSystemImpl::GetOutputStreamParameters( + const std::string& device_id, + OnAudioParamsCallback on_params_cb) const { + if (GetTaskRunner()->BelongsToCurrentThread()) { + GetTaskRunner()->PostTask( + FROM_HERE, base::Bind(on_params_cb, GetOutputParametersOnDeviceThread( + audio_manager_, device_id))); + return; + } + base::PostTaskAndReplyWithResult( + GetTaskRunner(), FROM_HERE, + base::Bind(&GetOutputParametersOnDeviceThread, + base::Unretained(audio_manager_), device_id), + std::move(on_params_cb)); +} + void AudioSystemImpl::HasInputDevices(OnBoolCallback on_has_devices_cb) const { if (GetTaskRunner()->BelongsToCurrentThread()) { GetTaskRunner()->PostTask(
diff --git a/media/audio/audio_system_impl.h b/media/audio/audio_system_impl.h index e7efd10..dd9342c 100644 --- a/media/audio/audio_system_impl.h +++ b/media/audio/audio_system_impl.h
@@ -24,7 +24,13 @@ void GetInputStreamParameters( const std::string& device_id, OnAudioParamsCallback on_params_cb) const override; + + void GetOutputStreamParameters( + const std::string& device_id, + OnAudioParamsCallback on_params_cb) const override; + void HasInputDevices(OnBoolCallback on_has_devices_cb) const override; + AudioManager* GetAudioManager() const override; protected:
diff --git a/media/audio/audio_system_impl_unittest.cc b/media/audio/audio_system_impl_unittest.cc index 04f6f64..ba4de57 100644 --- a/media/audio/audio_system_impl_unittest.cc +++ b/media/audio/audio_system_impl_unittest.cc
@@ -16,12 +16,31 @@ #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" +namespace { +const char* kNonDefaultDeviceId = "non-default-device-id"; +} namespace media { class AudioSystemImplTest : public testing::TestWithParam<bool> { public: AudioSystemImplTest() - : use_audio_thread_(GetParam()), audio_thread_("AudioSystemThread") { + : use_audio_thread_(GetParam()), + audio_thread_("AudioSystemThread"), + input_params_(AudioParameters::AUDIO_PCM_LINEAR, + CHANNEL_LAYOUT_MONO, + AudioParameters::kTelephoneSampleRate, + 16, + AudioParameters::kTelephoneSampleRate / 10), + output_params_(AudioParameters::AUDIO_PCM_LINEAR, + CHANNEL_LAYOUT_MONO, + AudioParameters::kTelephoneSampleRate, + 16, + AudioParameters::kTelephoneSampleRate / 20), + default_output_params_(AudioParameters::AUDIO_PCM_LINEAR, + CHANNEL_LAYOUT_MONO, + AudioParameters::kTelephoneSampleRate, + 16, + AudioParameters::kTelephoneSampleRate / 30) { if (use_audio_thread_) { audio_thread_.StartAndWaitForTesting(); audio_manager_.reset( @@ -30,8 +49,11 @@ audio_manager_.reset(new media::MockAudioManager( base::ThreadTaskRunnerHandle::Get().get())); } - audio_manager_->SetInputStreamParameters( - media::AudioParameters::UnavailableDeviceParams()); + + audio_manager_->SetInputStreamParameters(input_params_); + audio_manager_->SetOutputStreamParameters(output_params_); + audio_manager_->SetDefaultOutputStreamParameters(default_output_params_); + audio_system_ = media::AudioSystemImpl::Create(audio_manager_.get()); EXPECT_EQ(AudioSystem::Get(), audio_system_.get()); } @@ -52,12 +74,17 @@ AudioParametersReceived(); } + void OnHasInputDevices(bool result) { + EXPECT_TRUE(thread_checker_.CalledOnValidThread()); + HasInputDevicesCallback(result); + } + void WaitForCallback() { if (!use_audio_thread_) { base::RunLoop().RunUntilIdle(); return; } - media::WaitableMessageLoopEvent event; + WaitableMessageLoopEvent event; audio_thread_.task_runner()->PostTaskAndReply( FROM_HERE, base::Bind(&base::DoNothing), event.GetClosure()); // Runs the loop and waits for the |audio_thread_| to call event's closure, @@ -77,6 +104,9 @@ base::Thread audio_thread_; MockAudioManager::UniquePtr audio_manager_; std::unique_ptr<media::AudioSystem> audio_system_; + AudioParameters input_params_; + AudioParameters output_params_; + AudioParameters default_output_params_; }; TEST_P(AudioSystemImplTest, GetInputStreamParameters) { @@ -84,7 +114,7 @@ audio_system_->GetInputStreamParameters( media::AudioDeviceDescription::kDefaultDeviceId, base::Bind(&AudioSystemImplTest::OnAudioParams, base::Unretained(this), - media::AudioParameters::UnavailableDeviceParams())); + input_params_)); WaitForCallback(); } @@ -98,10 +128,44 @@ WaitForCallback(); } +TEST_P(AudioSystemImplTest, GetStreamParameters) { + EXPECT_CALL(*this, AudioParametersReceived()); + audio_system_->GetOutputStreamParameters( + kNonDefaultDeviceId, base::Bind(&AudioSystemImplTest::OnAudioParams, + base::Unretained(this), output_params_)); + WaitForCallback(); +} + +TEST_P(AudioSystemImplTest, GetDefaultOutputStreamParameters) { + EXPECT_CALL(*this, AudioParametersReceived()); + audio_system_->GetOutputStreamParameters( + media::AudioDeviceDescription::kDefaultDeviceId, + base::Bind(&AudioSystemImplTest::OnAudioParams, base::Unretained(this), + default_output_params_)); + WaitForCallback(); +} + +TEST_P(AudioSystemImplTest, GetOutputStreamParametersNoDevice) { + audio_manager_->SetHasOutputDevices(false); + EXPECT_CALL(*this, AudioParametersReceived()).Times(2); + + audio_system_->GetOutputStreamParameters( + media::AudioDeviceDescription::kDefaultDeviceId, + base::Bind(&AudioSystemImplTest::OnAudioParams, base::Unretained(this), + media::AudioParameters())); + WaitForCallback(); + + audio_system_->GetOutputStreamParameters( + kNonDefaultDeviceId, + base::Bind(&AudioSystemImplTest::OnAudioParams, base::Unretained(this), + media::AudioParameters())); + WaitForCallback(); +} + TEST_P(AudioSystemImplTest, HasInputDevices) { EXPECT_CALL(*this, HasInputDevicesCallback(true)); audio_system_->HasInputDevices(base::Bind( - &AudioSystemImplTest::HasInputDevicesCallback, base::Unretained(this))); + &AudioSystemImplTest::OnHasInputDevices, base::Unretained(this))); WaitForCallback(); } @@ -109,7 +173,7 @@ audio_manager_->SetHasInputDevices(false); EXPECT_CALL(*this, HasInputDevicesCallback(false)); audio_system_->HasInputDevices(base::Bind( - &AudioSystemImplTest::HasInputDevicesCallback, base::Unretained(this))); + &AudioSystemImplTest::OnHasInputDevices, base::Unretained(this))); WaitForCallback(); }
diff --git a/media/audio/mock_audio_manager.cc b/media/audio/mock_audio_manager.cc index 931cdbb7..9dcb9e5 100644 --- a/media/audio/mock_audio_manager.cc +++ b/media/audio/mock_audio_manager.cc
@@ -32,7 +32,7 @@ bool MockAudioManager::HasAudioOutputDevices() { DCHECK(GetTaskRunner()->BelongsToCurrentThread()); - return true; + return has_output_devices_; } bool MockAudioManager::HasAudioInputDevices() { @@ -90,13 +90,13 @@ } AudioParameters MockAudioManager::GetDefaultOutputStreamParameters() { - return AudioParameters(); + return default_output_params_; } AudioParameters MockAudioManager::GetOutputStreamParameters( const std::string& device_id) { DCHECK(GetTaskRunner()->BelongsToCurrentThread()); - return AudioParameters(); + return output_params_; } AudioParameters MockAudioManager::GetInputStreamParameters( @@ -120,13 +120,26 @@ return nullptr; } -void MockAudioManager::SetInputStreamParameters( - const AudioParameters& input_params) { - input_params_ = input_params; +void MockAudioManager::SetInputStreamParameters(const AudioParameters& params) { + input_params_ = params; +} + +void MockAudioManager::SetOutputStreamParameters( + const AudioParameters& params) { + output_params_ = params; +} + +void MockAudioManager::SetDefaultOutputStreamParameters( + const AudioParameters& params) { + default_output_params_ = params; } void MockAudioManager::SetHasInputDevices(bool has_input_devices) { has_input_devices_ = has_input_devices; } +void MockAudioManager::SetHasOutputDevices(bool has_output_devices) { + has_output_devices_ = has_output_devices; +} + } // namespace media.
diff --git a/media/audio/mock_audio_manager.h b/media/audio/mock_audio_manager.h index ae5bd50..619398d 100644 --- a/media/audio/mock_audio_manager.h +++ b/media/audio/mock_audio_manager.h
@@ -72,16 +72,23 @@ const char* GetName() override; // Setters to emulate desired in-test behavior. - void SetInputStreamParameters(const AudioParameters& input_params); + void SetInputStreamParameters(const AudioParameters& params); + void SetOutputStreamParameters(const AudioParameters& params); + void SetDefaultOutputStreamParameters(const AudioParameters& params); void SetHasInputDevices(bool has_input_devices); + void SetHasOutputDevices(bool has_output_devices); protected: ~MockAudioManager() override; private: friend class base::DeleteHelper<MockAudioManager>; + AudioParameters input_params_; + AudioParameters output_params_; + AudioParameters default_output_params_; bool has_input_devices_ = true; + bool has_output_devices_ = true; DISALLOW_COPY_AND_ASSIGN(MockAudioManager); };
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index 1bf3d20f..5c857b2 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -2177,12 +2177,6 @@ crbug.com/595993 external/wpt/service-workers/service-worker/fetch-header-visibility.https.html [ Failure ] crbug.com/595993 external/wpt/service-workers/service-worker/request-end-to-end.https.html [ Failure ] -crbug.com/683066 external/wpt/selection/extend-00.html [ NeedsRebaseline ] -crbug.com/683066 external/wpt/selection/extend-20.html [ NeedsRebaseline ] -crbug.com/683066 external/wpt/selection/selectAllChildren.html [ NeedsRebaseline ] -crbug.com/683066 external/wpt/webvtt/interfaces.html [ NeedsRebaseline ] -crbug.com/683066 external/wpt/selection/setBaseAndExtent.html [ NeedsRebaseline ] - crbug.com/666628 http/tests/inspector-enabled/console-stack-overflow-source-url.html [ Pass Failure ] crbug.com/666628 virtual/mojo-loading/http/tests/inspector-enabled/console-stack-overflow-source-url.html [ Pass Failure ]
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/extend-00-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/extend-00-expected.txt deleted file mode 100644 index 4868567d..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/extend-00-expected.txt +++ /dev/null
@@ -1,5300 +0,0 @@ -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -This is a testharness.js-based test. -Found 2992 tests; 422 PASS, 2570 FAIL, 0 TIMEOUT, 0 NOTRUN. -PASS extend() with range 0 [] and point 0 [paras[0].firstChild, -1] -PASS extend() with range 0 [] and point 1 [paras[0].firstChild, 0] -PASS extend() with range 0 [] and point 2 [paras[0].firstChild, 1] -PASS extend() with range 0 [] and point 3 [paras[0].firstChild, 2] -PASS extend() with range 0 [] and point 4 [paras[0].firstChild, 8] -PASS extend() with range 0 [] and point 5 [paras[0].firstChild, 9] -PASS extend() with range 0 [] and point 6 [paras[0].firstChild, 10] -PASS extend() with range 0 [] and point 7 [paras[0].firstChild, 65535] -PASS extend() with range 0 [] and point 8 [paras[1].firstChild, -1] -PASS extend() with range 0 [] and point 9 [paras[1].firstChild, 0] -PASS extend() with range 0 [] and point 10 [paras[1].firstChild, 1] -PASS extend() with range 0 [] and point 11 [paras[1].firstChild, 2] -PASS extend() with range 0 [] and point 12 [paras[1].firstChild, 8] -PASS extend() with range 0 [] and point 13 [paras[1].firstChild, 9] -PASS extend() with range 0 [] and point 14 [paras[1].firstChild, 10] -PASS extend() with range 0 [] and point 15 [paras[1].firstChild, 65535] -PASS extend() with range 0 [] and point 16 [detachedPara1.firstChild, 0] -PASS extend() with range 0 [] and point 17 [detachedPara1.firstChild, 1] -PASS extend() with range 0 [] and point 18 [detachedPara1.firstChild, 8] -PASS extend() with range 0 [] and point 19 [detachedPara1.firstChild, 9] -PASS extend() with range 0 [] and point 20 [foreignPara1.firstChild, 0] -PASS extend() with range 0 [] and point 21 [foreignPara1.firstChild, 1] -PASS extend() with range 0 [] and point 22 [foreignPara1.firstChild, 8] -PASS extend() with range 0 [] and point 23 [foreignPara1.firstChild, 9] -PASS extend() with range 0 [] and point 24 [document.documentElement, -1] -PASS extend() with range 0 [] and point 25 [document.documentElement, 0] -PASS extend() with range 0 [] and point 26 [document.documentElement, 1] -PASS extend() with range 0 [] and point 27 [document.documentElement, 2] -PASS extend() with range 0 [] and point 28 [document.documentElement, 7] -PASS extend() with range 0 [] and point 29 [document.head, 1] -PASS extend() with range 0 [] and point 30 [document.body, 3] -PASS extend() with range 0 [] and point 31 [foreignDoc.documentElement, 0] -PASS extend() with range 0 [] and point 32 [foreignDoc.documentElement, 1] -PASS extend() with range 0 [] and point 33 [foreignDoc.head, 0] -PASS extend() with range 0 [] and point 34 [foreignDoc.body, 1] -PASS extend() with range 0 [] and point 35 [paras[0], 0] -PASS extend() with range 0 [] and point 36 [paras[0], 1] -PASS extend() with range 0 [] and point 37 [paras[0], 2] -PASS extend() with range 0 [] and point 38 [paras[1], 0] -PASS extend() with range 0 [] and point 39 [paras[1], 1] -PASS extend() with range 0 [] and point 40 [paras[1], 2] -PASS extend() with range 0 [] and point 41 [detachedPara1, 0] -PASS extend() with range 0 [] and point 42 [detachedPara1, 1] -PASS extend() with range 0 [] and point 43 [testDiv, 0] -PASS extend() with range 0 [] and point 44 [testDiv, 3] -PASS extend() with range 0 [] and point 45 [document, -1] -PASS extend() with range 0 [] and point 46 [document, 0] -PASS extend() with range 0 [] and point 47 [document, 1] -PASS extend() with range 0 [] and point 48 [document, 2] -PASS extend() with range 0 [] and point 49 [document, 3] -PASS extend() with range 0 [] and point 50 [comment, -1] -PASS extend() with range 0 [] and point 51 [comment, 0] -PASS extend() with range 0 [] and point 52 [comment, 4] -PASS extend() with range 0 [] and point 53 [comment, 96] -PASS extend() with range 0 [] and point 54 [foreignDoc, 0] -PASS extend() with range 0 [] and point 55 [foreignDoc, 1] -PASS extend() with range 0 [] and point 56 [foreignComment, 2] -PASS extend() with range 0 [] and point 57 [foreignTextNode, 0] -PASS extend() with range 0 [] and point 58 [foreignTextNode, 36] -PASS extend() with range 0 [] and point 59 [xmlDoc, -1] -PASS extend() with range 0 [] and point 60 [xmlDoc, 0] -PASS extend() with range 0 [] and point 61 [xmlDoc, 1] -PASS extend() with range 0 [] and point 62 [xmlDoc, 5] -PASS extend() with range 0 [] and point 63 [xmlComment, 0] -PASS extend() with range 0 [] and point 64 [xmlComment, 4] -PASS extend() with range 0 [] and point 65 [processingInstruction, 0] -PASS extend() with range 0 [] and point 66 [processingInstruction, 5] -PASS extend() with range 0 [] and point 67 [processingInstruction, 9] -PASS extend() with range 0 [] and point 68 [detachedTextNode, 0] -PASS extend() with range 0 [] and point 69 [detachedTextNode, 8] -PASS extend() with range 0 [] and point 70 [detachedForeignTextNode, 0] -PASS extend() with range 0 [] and point 71 [detachedForeignTextNode, 8] -PASS extend() with range 0 [] and point 72 [detachedXmlTextNode, 0] -PASS extend() with range 0 [] and point 73 [detachedXmlTextNode, 8] -PASS extend() with range 0 [] and point 74 [detachedProcessingInstruction, 12] -PASS extend() with range 0 [] and point 75 [detachedComment, 3] -PASS extend() with range 0 [] and point 76 [detachedComment, 5] -PASS extend() with range 0 [] and point 77 [detachedForeignComment, 0] -PASS extend() with range 0 [] and point 78 [detachedForeignComment, 4] -PASS extend() with range 0 [] and point 79 [detachedXmlComment, 2] -PASS extend() with range 0 [] and point 80 [docfrag, 0] -PASS extend() with range 0 [] and point 81 [foreignDocfrag, 0] -PASS extend() with range 0 [] and point 82 [xmlDocfrag, 0] -PASS extend() with range 0 [] and point 83 [doctype, 0] -PASS extend() with range 0 [] and point 84 [doctype, -17] -PASS extend() with range 0 [] and point 85 [doctype, 1] -PASS extend() with range 0 [] and point 86 [foreignDoctype, 0] -PASS extend() with range 0 [] and point 87 [xmlDoctype, 0] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 0 [paras[0].firstChild, -1] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 1 [paras[0].firstChild, 0] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 3 [paras[0].firstChild, 2] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 4 [paras[0].firstChild, 8] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 6 [paras[0].firstChild, 10] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 7 [paras[0].firstChild, 65535] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 8 [paras[1].firstChild, -1] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 14 [paras[1].firstChild, 10] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 15 [paras[1].firstChild, 65535] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 23 [foreignPara1.firstChild, 9] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 24 [document.documentElement, -1] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 28 [document.documentElement, 7] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 37 [paras[0], 2] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 40 [paras[1], 2] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 45 [document, -1] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 49 [document, 3] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 50 [comment, -1] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 53 [comment, 96] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 59 [xmlDoc, -1] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 62 [xmlDoc, 5] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 83 [doctype, 0] -FAIL extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 85 [doctype, 1] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 86 [foreignDoctype, 0] -PASS extend() with range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0] and point 87 [xmlDoctype, 0] -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 1 [paras[0].firstChild, 0] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 3 [paras[0].firstChild, 2] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 4 [paras[0].firstChild, 8] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 6 [paras[0].firstChild, 10] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 29 [document.head, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 30 [document.body, 3] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 45 [document, -1] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 45 [document, -1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 46 [document, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 47 [document, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 48 [document, 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 49 [document, 3] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 49 [document, 3] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 50 [comment, -1] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 50 [comment, -1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 51 [comment, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 52 [comment, 4] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 53 [comment, 96] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 53 [comment, 96] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 83 [doctype, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -FAIL extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 84 [doctype, -17] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 85 [doctype, 1] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: endOffset must be correct expected 1 but got 2 -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 0 [paras[0].firstChild, -1] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 0 [paras[0].firstChild, -1] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 1 [paras[0].firstChild, 0] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 1 [paras[0].firstChild, 0] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 3 [paras[0].firstChild, 2] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 3 [paras[0].firstChild, 2] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 4 [paras[0].firstChild, 8] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 4 [paras[0].firstChild, 8] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 6 [paras[0].firstChild, 10] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 6 [paras[0].firstChild, 10] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 7 [paras[0].firstChild, 65535] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 7 [paras[0].firstChild, 65535] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 8 [paras[1].firstChild, -1] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 8 [paras[1].firstChild, -1] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 14 [paras[1].firstChild, 10] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 14 [paras[1].firstChild, 10] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 15 [paras[1].firstChild, 65535] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 15 [paras[1].firstChild, 65535] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 19 [detachedPara1.firstChild, 9] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 23 [foreignPara1.firstChild, 9] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 23 [foreignPara1.firstChild, 9] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 24 [document.documentElement, -1] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 24 [document.documentElement, -1] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 28 [document.documentElement, 7] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 28 [document.documentElement, 7] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 37 [paras[0], 2] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 37 [paras[0], 2] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 40 [paras[1], 2] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 40 [paras[1], 2] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 45 [document, -1] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 45 [document, -1] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 49 [document, 3] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 49 [document, 3] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 50 [comment, -1] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 50 [comment, -1] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 53 [comment, 96] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 53 [comment, 96] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 59 [xmlDoc, -1] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 59 [xmlDoc, -1] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 62 [xmlDoc, 5] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 62 [xmlDoc, 5] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 83 [doctype, 0] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 83 [doctype, 0] -FAIL extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 85 [doctype, 1] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 85 [doctype, 1] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 86 [foreignDoctype, 0] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 86 [foreignDoctype, 0] -PASS extend() forwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 87 [xmlDoctype, 0] -PASS extend() backwards with range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8] and point 87 [xmlDoctype, 0] -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 1 [paras[0].firstChild, 0] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 3 [paras[0].firstChild, 2] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 4 [paras[0].firstChild, 8] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 6 [paras[0].firstChild, 10] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 24 [document.documentElement, -1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 25 [document.documentElement, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 26 [document.documentElement, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 27 [document.documentElement, 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 28 [document.documentElement, 7] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 29 [document.head, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 30 [document.body, 3] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 35 [paras[0], 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 36 [paras[0], 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 37 [paras[0], 2] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 37 [paras[0], 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 38 [paras[1], 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 39 [paras[1], 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 40 [paras[1], 2] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 40 [paras[1], 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 41 [detachedPara1, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 42 [detachedPara1, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 43 [testDiv, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 44 [testDiv, 3] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 45 [document, -1] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 45 [document, -1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 46 [document, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 47 [document, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 48 [document, 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 49 [document, 3] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 49 [document, 3] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 50 [comment, -1] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 50 [comment, -1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 51 [comment, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 52 [comment, 4] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 53 [comment, 96] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 53 [comment, 96] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 54 [foreignDoc, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 55 [foreignDoc, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 56 [foreignComment, 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 59 [xmlDoc, -1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 60 [xmlDoc, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 61 [xmlDoc, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 62 [xmlDoc, 5] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 63 [xmlComment, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 64 [xmlComment, 4] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 65 [processingInstruction, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 66 [processingInstruction, 5] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 67 [processingInstruction, 9] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 75 [detachedComment, 3] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 76 [detachedComment, 5] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 80 [docfrag, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 83 [doctype, 0] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 83 [doctype, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -FAIL extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 84 [doctype, -17] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 85 [doctype, 1] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 85 [doctype, 1] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() forwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: endOffset must be correct expected 9 but got 10 -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 0 [paras[0].firstChild, -1] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 7 [paras[0].firstChild, 65535] -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 8 [paras[1].firstChild, -1] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 14 [paras[1].firstChild, 10] -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 15 [paras[1].firstChild, 65535] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 23 [foreignPara1.firstChild, 9] -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 24 [document.documentElement, -1] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 28 [document.documentElement, 7] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 37 [paras[0], 2] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 40 [paras[1], 2] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 45 [document, -1] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 49 [document, 3] -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 50 [comment, -1] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 53 [comment, 96] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 59 [xmlDoc, -1] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 62 [xmlDoc, 5] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 83 [doctype, 0] -FAIL extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 85 [doctype, 1] -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 86 [foreignDoctype, 0] -PASS extend() with range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0] and point 87 [xmlDoctype, 0] -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 45 [document, -1] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 49 [document, 3] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 50 [comment, -1] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 53 [comment, 96] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 6 [paras[1].firstChild, 0, paras[1].firstChild, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 37 [paras[0], 2] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 40 [paras[1], 2] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 45 [document, -1] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 49 [document, 3] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 50 [comment, -1] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 53 [comment, 96] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 83 [doctype, 0] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 85 [doctype, 1] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 7 [paras[1].firstChild, 2, paras[1].firstChild, 8] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 37 [paras[0], 2] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 40 [paras[1], 2] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 45 [document, -1] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 49 [document, 3] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 50 [comment, -1] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 53 [comment, 96] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Ijklmnop -" -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 83 [doctype, 0] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 85 [doctype, 1] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -PASS extend() forwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 8 [paras[1].firstChild, 2, paras[1].firstChild, 9] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 9 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 0 [paras[0].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 1 [paras[0].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 2 [paras[0].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 3 [paras[0].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 4 [paras[0].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 5 [paras[0].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 6 [paras[0].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 7 [paras[0].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 8 [paras[1].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 9 [paras[1].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 10 [paras[1].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 11 [paras[1].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 12 [paras[1].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 13 [paras[1].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 14 [paras[1].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 15 [paras[1].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 16 [detachedPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 17 [detachedPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 18 [detachedPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 19 [detachedPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 20 [foreignPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 21 [foreignPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 22 [foreignPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 23 [foreignPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 24 [document.documentElement, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 25 [document.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 26 [document.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 27 [document.documentElement, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 28 [document.documentElement, 7] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 29 [document.head, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 30 [document.body, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 31 [foreignDoc.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 32 [foreignDoc.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 33 [foreignDoc.head, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 34 [foreignDoc.body, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 35 [paras[0], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 36 [paras[0], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 37 [paras[0], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 38 [paras[1], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 39 [paras[1], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 40 [paras[1], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 41 [detachedPara1, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 42 [detachedPara1, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 43 [testDiv, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 44 [testDiv, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 45 [document, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 46 [document, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 47 [document, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 48 [document, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 49 [document, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 50 [comment, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 51 [comment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 52 [comment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 53 [comment, 96] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 54 [foreignDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 55 [foreignDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 56 [foreignComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 57 [foreignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 58 [foreignTextNode, 36] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 59 [xmlDoc, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 60 [xmlDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 61 [xmlDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 62 [xmlDoc, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 63 [xmlComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 64 [xmlComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 65 [processingInstruction, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 66 [processingInstruction, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 67 [processingInstruction, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 68 [detachedTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 69 [detachedTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 70 [detachedForeignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 71 [detachedForeignTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 72 [detachedXmlTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 73 [detachedXmlTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 74 [detachedProcessingInstruction, 12] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 75 [detachedComment, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 76 [detachedComment, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 77 [detachedForeignComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 78 [detachedForeignComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 79 [detachedXmlComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 80 [docfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 81 [foreignDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 82 [xmlDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 83 [doctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 84 [doctype, -17] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 85 [doctype, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 86 [foreignDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 10 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1] and point 87 [xmlDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 0 [paras[0].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 1 [paras[0].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 2 [paras[0].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 3 [paras[0].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 4 [paras[0].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 5 [paras[0].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 6 [paras[0].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 7 [paras[0].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 8 [paras[1].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 9 [paras[1].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 10 [paras[1].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 11 [paras[1].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 12 [paras[1].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 13 [paras[1].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 14 [paras[1].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 15 [paras[1].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 16 [detachedPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 17 [detachedPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 18 [detachedPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 19 [detachedPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 20 [foreignPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 21 [foreignPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 22 [foreignPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 23 [foreignPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 24 [document.documentElement, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 25 [document.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 26 [document.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 27 [document.documentElement, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 28 [document.documentElement, 7] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 29 [document.head, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 30 [document.body, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 31 [foreignDoc.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 32 [foreignDoc.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 33 [foreignDoc.head, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 34 [foreignDoc.body, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 35 [paras[0], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 36 [paras[0], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 37 [paras[0], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 38 [paras[1], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 39 [paras[1], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 40 [paras[1], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 41 [detachedPara1, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 42 [detachedPara1, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 43 [testDiv, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 44 [testDiv, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 45 [document, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 46 [document, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 47 [document, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 48 [document, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 49 [document, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 50 [comment, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 51 [comment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 52 [comment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 53 [comment, 96] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 54 [foreignDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 55 [foreignDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 56 [foreignComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 57 [foreignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 58 [foreignTextNode, 36] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 59 [xmlDoc, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 60 [xmlDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 61 [xmlDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 62 [xmlDoc, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 63 [xmlComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 64 [xmlComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 65 [processingInstruction, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 66 [processingInstruction, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 67 [processingInstruction, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 68 [detachedTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 69 [detachedTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 70 [detachedForeignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 71 [detachedForeignTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 72 [detachedXmlTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 73 [detachedXmlTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 74 [detachedProcessingInstruction, 12] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 75 [detachedComment, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 76 [detachedComment, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 77 [detachedForeignComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 78 [detachedForeignComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 79 [detachedXmlComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 80 [docfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 81 [foreignDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 82 [xmlDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 83 [doctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 84 [doctype, -17] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 85 [doctype, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 86 [foreignDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 11 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8] and point 87 [xmlDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 12 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 0 [paras[0].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 1 [paras[0].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 2 [paras[0].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 3 [paras[0].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 4 [paras[0].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 5 [paras[0].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 6 [paras[0].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 7 [paras[0].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 8 [paras[1].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 9 [paras[1].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 10 [paras[1].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 11 [paras[1].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 12 [paras[1].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 13 [paras[1].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 14 [paras[1].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 15 [paras[1].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 16 [detachedPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 17 [detachedPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 18 [detachedPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 19 [detachedPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 20 [foreignPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 21 [foreignPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 22 [foreignPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 23 [foreignPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 24 [document.documentElement, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 25 [document.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 26 [document.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 27 [document.documentElement, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 28 [document.documentElement, 7] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 29 [document.head, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 30 [document.body, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 31 [foreignDoc.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 32 [foreignDoc.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 33 [foreignDoc.head, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 34 [foreignDoc.body, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 35 [paras[0], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 36 [paras[0], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 37 [paras[0], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 38 [paras[1], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 39 [paras[1], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 40 [paras[1], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 41 [detachedPara1, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 42 [detachedPara1, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 43 [testDiv, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 44 [testDiv, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 45 [document, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 46 [document, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 47 [document, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 48 [document, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 49 [document, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 50 [comment, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 51 [comment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 52 [comment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 53 [comment, 96] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 54 [foreignDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 55 [foreignDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 56 [foreignComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 57 [foreignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 58 [foreignTextNode, 36] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 59 [xmlDoc, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 60 [xmlDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 61 [xmlDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 62 [xmlDoc, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 63 [xmlComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 64 [xmlComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 65 [processingInstruction, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 66 [processingInstruction, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 67 [processingInstruction, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 68 [detachedTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 69 [detachedTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 70 [detachedForeignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 71 [detachedForeignTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 72 [detachedXmlTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 73 [detachedXmlTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 74 [detachedProcessingInstruction, 12] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 75 [detachedComment, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 76 [detachedComment, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 77 [detachedForeignComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 78 [detachedForeignComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 79 [detachedXmlComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 80 [docfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 81 [foreignDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 82 [xmlDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 83 [doctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 84 [doctype, -17] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 85 [doctype, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 86 [foreignDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 13 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1] and point 87 [xmlDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 0 [paras[0].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 1 [paras[0].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 2 [paras[0].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 3 [paras[0].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 4 [paras[0].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 5 [paras[0].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 6 [paras[0].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 7 [paras[0].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 8 [paras[1].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 9 [paras[1].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 10 [paras[1].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 11 [paras[1].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 12 [paras[1].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 13 [paras[1].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 14 [paras[1].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 15 [paras[1].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 16 [detachedPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 17 [detachedPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 18 [detachedPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 19 [detachedPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 20 [foreignPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 21 [foreignPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 22 [foreignPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 23 [foreignPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 24 [document.documentElement, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 25 [document.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 26 [document.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 27 [document.documentElement, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 28 [document.documentElement, 7] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 29 [document.head, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 30 [document.body, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 31 [foreignDoc.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 32 [foreignDoc.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 33 [foreignDoc.head, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 34 [foreignDoc.body, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 35 [paras[0], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 36 [paras[0], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 37 [paras[0], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 38 [paras[1], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 39 [paras[1], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 40 [paras[1], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 41 [detachedPara1, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 42 [detachedPara1, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 43 [testDiv, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 44 [testDiv, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 45 [document, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 46 [document, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 47 [document, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 48 [document, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 49 [document, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 50 [comment, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 51 [comment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 52 [comment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 53 [comment, 96] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 54 [foreignDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 55 [foreignDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 56 [foreignComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 57 [foreignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 58 [foreignTextNode, 36] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 59 [xmlDoc, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 60 [xmlDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 61 [xmlDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 62 [xmlDoc, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 63 [xmlComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 64 [xmlComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 65 [processingInstruction, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 66 [processingInstruction, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 67 [processingInstruction, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 68 [detachedTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 69 [detachedTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 70 [detachedForeignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 71 [detachedForeignTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 72 [detachedXmlTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 73 [detachedXmlTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 74 [detachedProcessingInstruction, 12] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 75 [detachedComment, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 76 [detachedComment, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 77 [detachedForeignComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 78 [detachedForeignComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 79 [detachedXmlComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 80 [docfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 81 [foreignDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 82 [xmlDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 83 [doctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 84 [doctype, -17] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 85 [doctype, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 86 [foreignDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 14 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8] and point 87 [xmlDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 45 [document, -1] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 49 [document, 3] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 50 [comment, -1] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 53 [comment, 96] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 15 [document.documentElement, 0, document.documentElement, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 37 [paras[0], 2] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 40 [paras[1], 2] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 45 [document, -1] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 49 [document, 3] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 50 [comment, -1] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 53 [comment, 96] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 83 [doctype, 0] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 85 [doctype, 1] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 16 [document.documentElement, 0, document.documentElement, 2] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 37 [paras[0], 2] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 40 [paras[1], 2] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 45 [document, -1] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 49 [document, 3] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 50 [comment, -1] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 53 [comment, 96] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 83 [doctype, 0] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 85 [doctype, 1] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 17 [document.documentElement, 1, document.documentElement, 2] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 7 [paras[0].firstChild, 65535] -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 14 [paras[1].firstChild, 10] -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 23 [foreignPara1.firstChild, 9] -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 24 [document.documentElement, -1] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 28 [document.documentElement, 7] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 37 [paras[0], 2] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 40 [paras[1], 2] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 45 [document, -1] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 49 [document, 3] -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 50 [comment, -1] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 53 [comment, 96] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <head><title>Selection extend() tests</title> -<meta chars... -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 59 [xmlDoc, -1] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <head><title>Selection extend() tests</title> -<meta chars... -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 62 [xmlDoc, 5] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <head><title>Selection extend() tests</title> -<meta chars... -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <head><title>Selection extend() tests</title> -<meta chars... -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 83 [doctype, 0] -FAIL extend() with range 18 [document.head, 1, document.head, 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 85 [doctype, 1] -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 86 [foreignDoctype, 0] -PASS extend() with range 18 [document.head, 1, document.head, 1] and point 87 [xmlDoctype, 0] -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 45 [document, -1] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 49 [document, 3] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 50 [comment, -1] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 53 [comment, 96] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 19 [document.body, 0, document.body, 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 19 [document.body, 0, document.body, 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 19 [document.body, 0, document.body, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/extend-20-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/extend-20-expected.txt deleted file mode 100644 index f8ba77d4..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/extend-20-expected.txt +++ /dev/null
@@ -1,5563 +0,0 @@ -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -CONSOLE ERROR: line 944: The given range isn't in document. -This is a testharness.js-based test. -Found 3168 tests; 342 PASS, 2826 FAIL, 0 TIMEOUT, 0 NOTRUN. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 0 [paras[0].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 1 [paras[0].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 2 [paras[0].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 3 [paras[0].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 4 [paras[0].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 5 [paras[0].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 6 [paras[0].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 7 [paras[0].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 8 [paras[1].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 9 [paras[1].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 10 [paras[1].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 11 [paras[1].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 12 [paras[1].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 13 [paras[1].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 14 [paras[1].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 15 [paras[1].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 16 [detachedPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 17 [detachedPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 18 [detachedPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 19 [detachedPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 20 [foreignPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 21 [foreignPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 22 [foreignPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 23 [foreignPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 24 [document.documentElement, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 25 [document.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 26 [document.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 27 [document.documentElement, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 28 [document.documentElement, 7] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 29 [document.head, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 30 [document.body, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 31 [foreignDoc.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 32 [foreignDoc.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 33 [foreignDoc.head, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 34 [foreignDoc.body, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 35 [paras[0], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 36 [paras[0], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 37 [paras[0], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 38 [paras[1], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 39 [paras[1], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 40 [paras[1], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 41 [detachedPara1, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 42 [detachedPara1, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 43 [testDiv, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 44 [testDiv, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 45 [document, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 46 [document, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 47 [document, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 48 [document, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 49 [document, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 50 [comment, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 51 [comment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 52 [comment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 53 [comment, 96] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 54 [foreignDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 55 [foreignDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 56 [foreignComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 57 [foreignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 58 [foreignTextNode, 36] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 59 [xmlDoc, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 60 [xmlDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 61 [xmlDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 62 [xmlDoc, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 63 [xmlComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 64 [xmlComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 65 [processingInstruction, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 66 [processingInstruction, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 67 [processingInstruction, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 68 [detachedTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 69 [detachedTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 70 [detachedForeignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 71 [detachedForeignTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 72 [detachedXmlTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 73 [detachedXmlTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 74 [detachedProcessingInstruction, 12] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 75 [detachedComment, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 76 [detachedComment, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 77 [detachedForeignComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 78 [detachedForeignComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 79 [detachedXmlComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 80 [docfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 81 [foreignDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 82 [xmlDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 83 [doctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 84 [doctype, -17] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 85 [doctype, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 86 [foreignDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 20 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1] and point 87 [xmlDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 21 [foreignDoc.head, 1, foreignDoc.head, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 22 [foreignDoc.body, 0, foreignDoc.body, 0] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 0 [paras[0].firstChild, -1] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 7 [paras[0].firstChild, 65535] -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 8 [paras[1].firstChild, -1] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 14 [paras[1].firstChild, 10] -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 15 [paras[1].firstChild, 65535] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 23 [foreignPara1.firstChild, 9] -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 24 [document.documentElement, -1] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 28 [document.documentElement, 7] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 37 [paras[0], 2] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 40 [paras[1], 2] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 45 [document, -1] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 49 [document, 3] -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 50 [comment, -1] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 53 [comment, 96] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 59 [xmlDoc, -1] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 62 [xmlDoc, 5] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 83 [doctype, 0] -FAIL extend() with range 23 [paras[0], 0, paras[0], 0] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 85 [doctype, 1] -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 86 [foreignDoctype, 0] -PASS extend() with range 23 [paras[0], 0, paras[0], 0] and point 87 [xmlDoctype, 0] -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 45 [document, -1] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 49 [document, 3] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 50 [comment, -1] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 53 [comment, 96] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 24 [paras[0], 0, paras[0], 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 24 [paras[0], 0, paras[0], 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() with range 25 [detachedPara1, 0, detachedPara1, 0] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 0 [paras[0].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 1 [paras[0].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 2 [paras[0].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 3 [paras[0].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 4 [paras[0].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 5 [paras[0].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 6 [paras[0].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 7 [paras[0].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 8 [paras[1].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 9 [paras[1].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 10 [paras[1].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 11 [paras[1].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 12 [paras[1].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 13 [paras[1].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 14 [paras[1].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 15 [paras[1].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 16 [detachedPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 17 [detachedPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 18 [detachedPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 19 [detachedPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 20 [foreignPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 21 [foreignPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 22 [foreignPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 23 [foreignPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 24 [document.documentElement, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 25 [document.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 26 [document.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 27 [document.documentElement, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 28 [document.documentElement, 7] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 29 [document.head, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 30 [document.body, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 31 [foreignDoc.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 32 [foreignDoc.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 33 [foreignDoc.head, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 34 [foreignDoc.body, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 35 [paras[0], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 36 [paras[0], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 37 [paras[0], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 38 [paras[1], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 39 [paras[1], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 40 [paras[1], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 41 [detachedPara1, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 42 [detachedPara1, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 43 [testDiv, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 44 [testDiv, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 45 [document, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 46 [document, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 47 [document, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 48 [document, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 49 [document, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 50 [comment, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 51 [comment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 52 [comment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 53 [comment, 96] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 54 [foreignDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 55 [foreignDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 56 [foreignComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 57 [foreignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 58 [foreignTextNode, 36] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 59 [xmlDoc, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 60 [xmlDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 61 [xmlDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 62 [xmlDoc, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 63 [xmlComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 64 [xmlComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 65 [processingInstruction, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 66 [processingInstruction, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 67 [processingInstruction, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 68 [detachedTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 69 [detachedTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 70 [detachedForeignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 71 [detachedForeignTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 72 [detachedXmlTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 73 [detachedXmlTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 74 [detachedProcessingInstruction, 12] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 75 [detachedComment, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 76 [detachedComment, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 77 [detachedForeignComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 78 [detachedForeignComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 79 [detachedXmlComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 80 [docfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 81 [foreignDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 82 [xmlDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 83 [doctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 84 [doctype, -17] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 85 [doctype, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 86 [foreignDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 26 [detachedPara1, 0, detachedPara1, 1] and point 87 [xmlDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 1 [paras[0].firstChild, 0] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 3 [paras[0].firstChild, 2] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 4 [paras[0].firstChild, 8] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 6 [paras[0].firstChild, 10] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 24 [document.documentElement, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 25 [document.documentElement, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 26 [document.documentElement, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 27 [document.documentElement, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 28 [document.documentElement, 7] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 29 [document.head, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 30 [document.body, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 35 [paras[0], 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 36 [paras[0], 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 37 [paras[0], 2] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 37 [paras[0], 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 38 [paras[1], 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 39 [paras[1], 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 40 [paras[1], 2] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 40 [paras[1], 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 41 [detachedPara1, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 42 [detachedPara1, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 43 [testDiv, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 44 [testDiv, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 45 [document, -1] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 45 [document, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 46 [document, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 47 [document, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 48 [document, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 49 [document, 3] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 49 [document, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 50 [comment, -1] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 50 [comment, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 51 [comment, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 52 [comment, 4] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 53 [comment, 96] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 53 [comment, 96] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 54 [foreignDoc, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 55 [foreignDoc, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 56 [foreignComment, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 59 [xmlDoc, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 60 [xmlDoc, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 61 [xmlDoc, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 62 [xmlDoc, 5] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 63 [xmlComment, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 64 [xmlComment, 4] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 65 [processingInstruction, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 66 [processingInstruction, 5] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 67 [processingInstruction, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 75 [detachedComment, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 76 [detachedComment, 5] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 80 [docfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 83 [doctype, 0] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 83 [doctype, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 84 [doctype, -17] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 85 [doctype, 1] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 85 [doctype, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 27 [paras[0].firstChild, 0, paras[1].firstChild, 0] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 1 [paras[0].firstChild, 0] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 3 [paras[0].firstChild, 2] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 4 [paras[0].firstChild, 8] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 6 [paras[0].firstChild, 10] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 24 [document.documentElement, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 25 [document.documentElement, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 26 [document.documentElement, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 27 [document.documentElement, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 28 [document.documentElement, 7] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 29 [document.head, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 30 [document.body, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 35 [paras[0], 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 36 [paras[0], 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 37 [paras[0], 2] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 37 [paras[0], 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 38 [paras[1], 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 39 [paras[1], 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 40 [paras[1], 2] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 40 [paras[1], 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 41 [detachedPara1, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 42 [detachedPara1, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 43 [testDiv, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 44 [testDiv, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 45 [document, -1] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 45 [document, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 46 [document, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 47 [document, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 48 [document, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 49 [document, 3] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 49 [document, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 50 [comment, -1] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 50 [comment, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 51 [comment, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 52 [comment, 4] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 53 [comment, 96] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 53 [comment, 96] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 54 [foreignDoc, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 55 [foreignDoc, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 56 [foreignComment, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 59 [xmlDoc, -1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 60 [xmlDoc, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 61 [xmlDoc, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 62 [xmlDoc, 5] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 63 [xmlComment, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 64 [xmlComment, 4] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 65 [processingInstruction, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 66 [processingInstruction, 5] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 67 [processingInstruction, 9] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 75 [detachedComment, 3] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 76 [detachedComment, 5] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 80 [docfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 83 [doctype, 0] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 83 [doctype, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 84 [doctype, -17] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 85 [doctype, 1] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 85 [doctype, 1] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 28 [paras[0].firstChild, 0, paras[1].firstChild, 8] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: endContainer must be correct expected Text node "Ijklmnop -" but got Element node <p id="c">Qrstuvwx</p> -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 25 [document.documentElement, 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 26 [document.documentElement, 1] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 27 [document.documentElement, 2] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 29 [document.head, 1] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 29 [document.head, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 30 [document.body, 3] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 30 [document.body, 3] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 35 [paras[0], 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 35 [paras[0], 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 36 [paras[0], 1] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 36 [paras[0], 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 37 [paras[0], 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 38 [paras[1], 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 38 [paras[1], 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 39 [paras[1], 1] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 39 [paras[1], 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 40 [paras[1], 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 43 [testDiv, 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 43 [testDiv, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 44 [testDiv, 3] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 44 [testDiv, 3] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 45 [document, -1] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 45 [document, -1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 46 [document, 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 46 [document, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 47 [document, 1] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 47 [document, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 48 [document, 2] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 48 [document, 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 49 [document, 3] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 49 [document, 3] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 50 [comment, -1] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 50 [comment, -1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 51 [comment, 0] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 51 [comment, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 52 [comment, 4] assert_equals: anchorOffset must not change if the node passed to extend() has the same root as the original range expected 3 but got 4 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 52 [comment, 4] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 53 [comment, 96] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 53 [comment, 96] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 80 [docfrag, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 83 [doctype, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -FAIL extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 84 [doctype, -17] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 85 [doctype, 1] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 29 [paras[0].firstChild, 3, paras[3], 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startOffset must be correct expected 3 but got 4 -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 37 [paras[0], 2] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 40 [paras[1], 2] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 45 [document, -1] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 49 [document, 3] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 50 [comment, -1] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 53 [comment, 96] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 83 [doctype, 0] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 85 [doctype, 1] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 30 [paras[0], 0, paras[0].firstChild, 7] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 45 [document, -1] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 49 [document, 3] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 50 [comment, -1] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 53 [comment, 96] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 31 [testDiv, 2, paras[4], 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 31 [testDiv, 2, paras[4], 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 37 [paras[0], 2] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 40 [paras[1], 2] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 45 [document, -1] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Element node <p id="c">Qrstuvwx</p> -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 49 [document, 3] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 50 [comment, -1] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 53 [comment, 96] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 83 [doctype, 0] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 85 [doctype, 1] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 32 [testDiv, 1, paras[2].firstChild, 5] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 37 [paras[0], 2] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 40 [paras[1], 2] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 45 [document, -1] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 49 [document, 3] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 50 [comment, -1] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 53 [comment, 96] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <html><head><title>Selection extend() tests</title> -<meta... -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 83 [doctype, 0] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 85 [doctype, 1] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 33 [document.documentElement, 1, document.body, 0] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 33 [document.documentElement, 1, document.body, 0] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 0 [paras[0].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 1 [paras[0].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 2 [paras[0].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 3 [paras[0].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 4 [paras[0].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 5 [paras[0].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 6 [paras[0].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 7 [paras[0].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 8 [paras[1].firstChild, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 9 [paras[1].firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 10 [paras[1].firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 11 [paras[1].firstChild, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 12 [paras[1].firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 13 [paras[1].firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 14 [paras[1].firstChild, 10] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 15 [paras[1].firstChild, 65535] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 16 [detachedPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 17 [detachedPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 18 [detachedPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 19 [detachedPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 20 [foreignPara1.firstChild, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 21 [foreignPara1.firstChild, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 22 [foreignPara1.firstChild, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 23 [foreignPara1.firstChild, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 24 [document.documentElement, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 24 [document.documentElement, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 25 [document.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 25 [document.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 26 [document.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 26 [document.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 27 [document.documentElement, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 27 [document.documentElement, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 28 [document.documentElement, 7] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 28 [document.documentElement, 7] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 29 [document.head, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 29 [document.head, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 30 [document.body, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 30 [document.body, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 31 [foreignDoc.documentElement, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 32 [foreignDoc.documentElement, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 33 [foreignDoc.head, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 34 [foreignDoc.body, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 35 [paras[0], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 35 [paras[0], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 36 [paras[0], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 36 [paras[0], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 37 [paras[0], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 37 [paras[0], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 38 [paras[1], 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 38 [paras[1], 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 39 [paras[1], 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 39 [paras[1], 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 40 [paras[1], 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 40 [paras[1], 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 41 [detachedPara1, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 41 [detachedPara1, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 42 [detachedPara1, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 42 [detachedPara1, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 43 [testDiv, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 43 [testDiv, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 44 [testDiv, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 44 [testDiv, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 45 [document, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 45 [document, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 46 [document, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 46 [document, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 47 [document, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 47 [document, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 48 [document, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 48 [document, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 49 [document, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 49 [document, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 50 [comment, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 50 [comment, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 51 [comment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 51 [comment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 52 [comment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 52 [comment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 53 [comment, 96] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 53 [comment, 96] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 54 [foreignDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 54 [foreignDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 55 [foreignDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 55 [foreignDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 56 [foreignComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 56 [foreignComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 57 [foreignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 58 [foreignTextNode, 36] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 59 [xmlDoc, -1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 59 [xmlDoc, -1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 60 [xmlDoc, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 60 [xmlDoc, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 61 [xmlDoc, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 61 [xmlDoc, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 62 [xmlDoc, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 62 [xmlDoc, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 63 [xmlComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 63 [xmlComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 64 [xmlComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 64 [xmlComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 65 [processingInstruction, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 65 [processingInstruction, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 66 [processingInstruction, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 66 [processingInstruction, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 67 [processingInstruction, 9] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 67 [processingInstruction, 9] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 68 [detachedTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 69 [detachedTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 70 [detachedForeignTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 71 [detachedForeignTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 72 [detachedXmlTextNode, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 73 [detachedXmlTextNode, 8] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 74 [detachedProcessingInstruction, 12] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 75 [detachedComment, 3] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 75 [detachedComment, 3] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 76 [detachedComment, 5] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 76 [detachedComment, 5] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 77 [detachedForeignComment, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 78 [detachedForeignComment, 4] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 79 [detachedXmlComment, 2] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 80 [docfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 80 [docfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 81 [foreignDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 82 [xmlDocfrag, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 83 [doctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 83 [doctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 84 [doctype, -17] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 84 [doctype, -17] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 85 [doctype, 1] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 85 [doctype, 1] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 86 [foreignDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -FAIL extend() forwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: rangeCount must be correct expected 1 but got 0 -FAIL extend() backwards with range 34 [foreignDoc.documentElement, 1, foreignDoc.body, 0] and point 87 [xmlDoctype, 0] Failed to execute 'extend' on 'Selection': This Selection object doesn't have any Ranges. -PASS extend() forwards with range 35 [document, 0, document, 1] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 37 [paras[0], 2] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 40 [paras[1], 2] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 45 [document, -1] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 49 [document, 3] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 50 [comment, -1] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 53 [comment, 96] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 83 [doctype, 0] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 35 [document, 0, document, 1] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 85 [doctype, 1] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 35 [document, 0, document, 1] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 35 [document, 0, document, 1] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 37 [paras[0], 2] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 40 [paras[1], 2] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 45 [document, -1] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 49 [document, 3] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 50 [comment, -1] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 53 [comment, 96] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 83 [doctype, 0] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 36 [document, 0, document, 2] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 85 [doctype, 1] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 36 [document, 0, document, 2] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 36 [document, 0, document, 2] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 37 [paras[0], 2] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 40 [paras[1], 2] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 45 [document, -1] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 49 [document, 3] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 50 [comment, -1] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 53 [comment, 96] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Document node with 2 children -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 83 [doctype, 0] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 37 [document, 1, document, 2] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 85 [doctype, 1] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 37 [document, 1, document, 2] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 37 [document, 1, document, 2] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 1 [paras[0].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 2 [paras[0].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 3 [paras[0].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 4 [paras[0].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 5 [paras[0].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 6 [paras[0].firstChild, 10] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 9 [paras[1].firstChild, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 10 [paras[1].firstChild, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 11 [paras[1].firstChild, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 12 [paras[1].firstChild, 8] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 13 [paras[1].firstChild, 9] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 24 [document.documentElement, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 25 [document.documentElement, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 25 [document.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 26 [document.documentElement, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 26 [document.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 27 [document.documentElement, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 27 [document.documentElement, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 28 [document.documentElement, 7] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 29 [document.head, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 29 [document.head, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 30 [document.body, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 30 [document.body, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 35 [paras[0], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 35 [paras[0], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 36 [paras[0], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 36 [paras[0], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 37 [paras[0], 2] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 37 [paras[0], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 38 [paras[1], 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 38 [paras[1], 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 39 [paras[1], 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 39 [paras[1], 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 40 [paras[1], 2] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 40 [paras[1], 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 41 [detachedPara1, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 42 [detachedPara1, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 43 [testDiv, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 43 [testDiv, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 44 [testDiv, 3] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 44 [testDiv, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 45 [document, -1] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 45 [document, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 46 [document, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 46 [document, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 47 [document, 1] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 47 [document, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 48 [document, 2] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 48 [document, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 49 [document, 3] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 49 [document, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 50 [comment, -1] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 50 [comment, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 51 [comment, 0] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 51 [comment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 52 [comment, 4] assert_equals: anchorNode must not change if the node passed to extend() has the same root as the original range expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 52 [comment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 53 [comment, 96] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 53 [comment, 96] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 54 [foreignDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 55 [foreignDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 56 [foreignComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 59 [xmlDoc, -1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 60 [xmlDoc, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 61 [xmlDoc, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 62 [xmlDoc, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 63 [xmlComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 64 [xmlComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 65 [processingInstruction, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 66 [processingInstruction, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 67 [processingInstruction, 9] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 75 [detachedComment, 3] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 76 [detachedComment, 5] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 80 [docfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 83 [doctype, 0] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 83 [doctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() forwards with range 38 [testDiv, 0, comment, 5] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 84 [doctype, -17] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 85 [doctype, 1] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 85 [doctype, 1] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 38 [testDiv, 0, comment, 5] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 38 [testDiv, 0, comment, 5] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: startContainer must be correct expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 0 [paras[0].firstChild, -1] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 0 [paras[0].firstChild, -1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 1 [paras[0].firstChild, 0] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 1 [paras[0].firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 2 [paras[0].firstChild, 1] assert_equals: focusOffset must be the offset passed to extend() expected 1 but got 2 -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 2 [paras[0].firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 3 [paras[0].firstChild, 2] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 3 [paras[0].firstChild, 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 4 [paras[0].firstChild, 8] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 4 [paras[0].firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 5 [paras[0].firstChild, 9] assert_equals: focusOffset must be the offset passed to extend() expected 9 but got 10 -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 5 [paras[0].firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 6 [paras[0].firstChild, 10] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 6 [paras[0].firstChild, 10] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 7 [paras[0].firstChild, 65535] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 7 [paras[0].firstChild, 65535] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 8 [paras[1].firstChild, -1] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 8 [paras[1].firstChild, -1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 9 [paras[1].firstChild, 0] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 9 [paras[1].firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 10 [paras[1].firstChild, 1] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 10 [paras[1].firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 11 [paras[1].firstChild, 2] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 11 [paras[1].firstChild, 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 12 [paras[1].firstChild, 8] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 12 [paras[1].firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 13 [paras[1].firstChild, 9] assert_equals: focusNode must be the node passed to extend() expected Text node "Ijklmnop -" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 13 [paras[1].firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 14 [paras[1].firstChild, 10] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 14 [paras[1].firstChild, 10] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 15 [paras[1].firstChild, 65535] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 15 [paras[1].firstChild, 65535] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 16 [detachedPara1.firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 17 [detachedPara1.firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Opqrstuv" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 18 [detachedPara1.firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 19 [detachedPara1.firstChild, 9] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 19 [detachedPara1.firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 20 [foreignPara1.firstChild, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 21 [foreignPara1.firstChild, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Efghijkl" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 22 [foreignPara1.firstChild, 8] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 23 [foreignPara1.firstChild, 9] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 23 [foreignPara1.firstChild, 9] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 24 [document.documentElement, -1] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 24 [document.documentElement, -1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 25 [document.documentElement, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 25 [document.documentElement, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 26 [document.documentElement, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 26 [document.documentElement, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 27 [document.documentElement, 2] assert_equals: focusNode must be the node passed to extend() expected Element node <html><head><title>Selection extend() tests</title> -<meta... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 27 [document.documentElement, 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 28 [document.documentElement, 7] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 28 [document.documentElement, 7] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 29 [document.head, 1] assert_equals: focusNode must be the node passed to extend() expected Element node <head><title>Selection extend() tests</title> -<meta chars... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 29 [document.head, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 30 [document.body, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <body><div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 30 [document.body, 3] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 31 [foreignDoc.documentElement, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <html><head><title></title></head><body><p>Efghijkl</p><p... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 32 [foreignDoc.documentElement, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 33 [foreignDoc.head, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <head><title></title></head> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 33 [foreignDoc.head, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 34 [foreignDoc.body, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <body><p>Efghijkl</p><p>Mnopqrst</p>I admit that I harbor... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 34 [foreignDoc.body, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 35 [paras[0], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 35 [paras[0], 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 36 [paras[0], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p> but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 36 [paras[0], 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 37 [paras[0], 2] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 37 [paras[0], 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 38 [paras[1], 0] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 38 [paras[1], 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 39 [paras[1], 1] assert_equals: focusNode must be the node passed to extend() expected Element node <p id="b" style="display:none">Ijklmnop -</p> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 39 [paras[1], 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 40 [paras[1], 2] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 40 [paras[1], 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 41 [detachedPara1, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 41 [detachedPara1, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 42 [detachedPara1, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Element node <p>Opqrstuv</p> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 42 [detachedPara1, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 43 [testDiv, 0] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 43 [testDiv, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 44 [testDiv, 3] assert_equals: focusNode must be the node passed to extend() expected Element node <div id="test"><p id="a">Äb̈c̈d̈ëf̈g̈ḧ -</p><p id="b" s... but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 44 [testDiv, 3] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 45 [document, -1] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 45 [document, -1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 46 [document, 0] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 46 [document, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 47 [document, 1] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Äb̈c̈d̈ëf̈g̈ḧ -" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 47 [document, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 48 [document, 2] assert_equals: focusNode must be the node passed to extend() expected Document node with 2 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 48 [document, 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 49 [document, 3] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 49 [document, 3] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 50 [comment, -1] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 50 [comment, -1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 51 [comment, 0] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 51 [comment, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 52 [comment, 4] assert_equals: focusNode must be the node passed to extend() expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 52 [comment, 4] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 53 [comment, 96] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 53 [comment, 96] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 54 [foreignDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 54 [foreignDoc, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 55 [foreignDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 3 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 55 [foreignDoc, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 56 [foreignComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--"Commenter" and "commentator" mean different things. I'v...--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 56 [foreignComment, 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 57 [foreignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 57 [foreignTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 58 [foreignTextNode, 36] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "I admit that I harbor doubts about whether we really need..." but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 58 [foreignTextNode, 36] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 59 [xmlDoc, -1] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 59 [xmlDoc, -1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 60 [xmlDoc, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 60 [xmlDoc, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 61 [xmlDoc, 1] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Document node with 4 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 61 [xmlDoc, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 62 [xmlDoc, 5] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 62 [xmlDoc, 5] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 63 [xmlComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 63 [xmlComment, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 64 [xmlComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--I maliciously created a comment that will break incautiou...--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 64 [xmlComment, 4] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 65 [processingInstruction, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 65 [processingInstruction, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 66 [processingInstruction, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 66 [processingInstruction, 5] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 67 [processingInstruction, 9] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "somePI" and data "Did you know that \":syn sync fromstart\" is very useful wh..." but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 67 [processingInstruction, 9] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 68 [detachedTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 68 [detachedTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 69 [detachedTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Uvwxyzab" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 69 [detachedTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 70 [detachedForeignTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Cdefghij" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 71 [detachedForeignTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 72 [detachedXmlTextNode, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Text node "Klmnopqr" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 73 [detachedXmlTextNode, 8] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected ProcessingInstruction node with target "whippoorwill" and data "chirp chirp chirp" but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 74 [detachedProcessingInstruction, 12] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 75 [detachedComment, 3] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 75 [detachedComment, 3] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 76 [detachedComment, 5] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--Stuvwxyz--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 76 [detachedComment, 5] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 77 [detachedForeignComment, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 77 [detachedForeignComment, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 78 [detachedForeignComment, 4] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--אריה יהודה--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 78 [detachedForeignComment, 4] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 79 [detachedXmlComment, 2] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected Comment node <!--בן חיים אליעזר--> but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 79 [detachedXmlComment, 2] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 80 [docfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 80 [docfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 81 [foreignDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 81 [foreignDocfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 82 [xmlDocfrag, 0] assert_equals: anchorNode must be the node passed to extend() if it has a different root from the original range expected DocumentFragment node with 0 children but got Text node "Qrstuvwx" -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 82 [xmlDocfrag, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 83 [doctype, 0] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 83 [doctype, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -FAIL extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 84 [doctype, -17] assert_throws: extend() to a doctype must throw InvalidNodeTypeError function "function () { - selection.extend(node, offset); - }" threw object "IndexSizeError: Failed to execute 'extend' on 'Selection': -17 is not a valid offset." that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" is equal to 1, expected 24 -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 84 [doctype, -17] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 85 [doctype, 1] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 85 [doctype, 1] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 86 [foreignDoctype, 0] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 86 [foreignDoctype, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -PASS extend() forwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 87 [xmlDoctype, 0] -FAIL extend() backwards with range 39 [paras[2].firstChild, 4, comment, 2] and point 87 [xmlDoctype, 0] assert_equals: Sanity check: endContainer must be correct expected Comment node <!--Alphabet soup?--> but got Text node "Qrstuvwx" -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/selection/setBaseAndExtent-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/selection/setBaseAndExtent-expected.txt index 3e6e91ea..19eb023 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/selection/setBaseAndExtent-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/selection/setBaseAndExtent-expected.txt
@@ -1,4 +1,5 @@ This is a testharness.js-based test. +Found 120 tests; 119 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN. PASS Range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] setBaseAndExtent() PASS Reverse range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] setBaseAndExtent() PASS Range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] setBaseAndExtent()
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/interfaces-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/webvtt/interfaces-expected.txt index dc67b94f..a980177 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/interfaces-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/interfaces-expected.txt
@@ -1,4 +1,5 @@ This is a testharness.js-based test. +Found 50 tests; 40 PASS, 10 FAIL, 0 TIMEOUT, 0 NOTRUN. FAIL VTTCue interface: existence and properties of interface object Cannot read property 'has_extended_attribute' of undefined PASS VTTCue interface object length PASS VTTCue interface object name
diff --git a/third_party/WebKit/Source/bindings/scripts/generate_init_partial_interfaces.py b/third_party/WebKit/Source/bindings/scripts/generate_init_partial_interfaces.py index 2ea53ec..ab5bbe633 100755 --- a/third_party/WebKit/Source/bindings/scripts/generate_init_partial_interfaces.py +++ b/third_party/WebKit/Source/bindings/scripts/generate_init_partial_interfaces.py
@@ -22,7 +22,6 @@ _COPYRIGHT = """// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. - """ _INIT_PARTIAL_INTERFACE = """%s @@ -30,8 +29,7 @@ namespace blink { -void initPartialInterfacesInModules() -{ +void initPartialInterfacesInModules() { %s } @@ -93,7 +91,7 @@ includes = ['#include "bindings/modules/v8/%s.h"' % interface_name for interface_name in interface_names] - initialize_calls = [' %s::initialize();' % interface_name + initialize_calls = [' %s::initialize();' % interface_name for interface_name in interface_names] content = _INIT_PARTIAL_INTERFACE % (
diff --git a/third_party/WebKit/Source/core/page/NetworkStateNotifier.cpp b/third_party/WebKit/Source/core/page/NetworkStateNotifier.cpp index 9998e33..b35bf70 100644 --- a/third_party/WebKit/Source/core/page/NetworkStateNotifier.cpp +++ b/third_party/WebKit/Source/core/page/NetworkStateNotifier.cpp
@@ -25,10 +25,9 @@ #include "core/page/NetworkStateNotifier.h" -#include "core/dom/ExecutionContext.h" -#include "core/dom/ExecutionContextTask.h" #include "core/dom/TaskRunnerHelper.h" #include "core/page/Page.h" +#include "platform/CrossThreadFunctional.h" #include "wtf/Assertions.h" #include "wtf/Functional.h" #include "wtf/PtrUtil.h" @@ -86,25 +85,25 @@ } void NetworkStateNotifier::addObserver(NetworkStateObserver* observer, - ExecutionContext* context) { - ASSERT(context->isContextThread()); - ASSERT(observer); + WebTaskRunner* taskRunner) { + DCHECK(taskRunner->runsTasksOnCurrentThread()); + DCHECK(observer); MutexLocker locker(m_mutex); - ObserverListMap::AddResult result = m_observers.insert(context, nullptr); + ObserverListMap::AddResult result = m_observers.insert(taskRunner, nullptr); if (result.isNewEntry) result.storedValue->value = WTF::wrapUnique(new ObserverList); - ASSERT(result.storedValue->value->observers.find(observer) == kNotFound); + DCHECK(result.storedValue->value->observers.find(observer) == kNotFound); result.storedValue->value->observers.push_back(observer); } void NetworkStateNotifier::removeObserver(NetworkStateObserver* observer, - ExecutionContext* context) { - ASSERT(context->isContextThread()); - ASSERT(observer); + WebTaskRunner* taskRunner) { + DCHECK(taskRunner->runsTasksOnCurrentThread()); + DCHECK(observer); - ObserverList* observerList = lockAndFindObserverList(context); + ObserverList* observerList = lockAndFindObserverList(taskRunner); if (!observerList) return; @@ -116,7 +115,7 @@ } if (!observerList->iterating && !observerList->zeroedObservers.isEmpty()) - collectZeroedObservers(observerList, context); + collectZeroedObservers(observerList, taskRunner); } void NetworkStateNotifier::setOverride(bool onLine, @@ -147,28 +146,30 @@ void NetworkStateNotifier::notifyObservers(WebConnectionType type, double maxBandwidthMbps) { DCHECK(isMainThread()); + MutexLocker locker(m_mutex); for (const auto& entry : m_observers) { - ExecutionContext* context = entry.key; - context->postTask( - TaskType::Networking, BLINK_FROM_HERE, - createCrossThreadTask( - &NetworkStateNotifier::notifyObserversOfConnectionChangeOnContext, - crossThreadUnretained(this), type, maxBandwidthMbps)); + WebTaskRunner* taskRunner = entry.key; + taskRunner->postTask( + BLINK_FROM_HERE, + crossThreadBind(&NetworkStateNotifier:: + notifyObserversOfConnectionChangeOnTaskRunner, + crossThreadUnretained(this), type, maxBandwidthMbps, + crossThreadUnretained(taskRunner))); } } -void NetworkStateNotifier::notifyObserversOfConnectionChangeOnContext( +void NetworkStateNotifier::notifyObserversOfConnectionChangeOnTaskRunner( WebConnectionType type, double maxBandwidthMbps, - ExecutionContext* context) { - ObserverList* observerList = lockAndFindObserverList(context); + WebTaskRunner* taskRunner) { + ObserverList* observerList = lockAndFindObserverList(taskRunner); // The context could have been removed before the notification task got to // run. if (!observerList) return; - ASSERT(context->isContextThread()); + DCHECK(taskRunner->runsTasksOnCurrentThread()); observerList->iterating = true; @@ -181,20 +182,20 @@ observerList->iterating = false; if (!observerList->zeroedObservers.isEmpty()) - collectZeroedObservers(observerList, context); + collectZeroedObservers(observerList, taskRunner); } NetworkStateNotifier::ObserverList* -NetworkStateNotifier::lockAndFindObserverList(ExecutionContext* context) { +NetworkStateNotifier::lockAndFindObserverList(WebTaskRunner* taskRunner) { MutexLocker locker(m_mutex); - ObserverListMap::iterator it = m_observers.find(context); + ObserverListMap::iterator it = m_observers.find(taskRunner); return it == m_observers.end() ? nullptr : it->value.get(); } void NetworkStateNotifier::collectZeroedObservers(ObserverList* list, - ExecutionContext* context) { - ASSERT(context->isContextThread()); - ASSERT(!list->iterating); + WebTaskRunner* taskRunner) { + DCHECK(taskRunner->runsTasksOnCurrentThread()); + DCHECK(!list->iterating); // If any observers were removed during the iteration they will have // 0 values, clean them up. @@ -205,7 +206,7 @@ if (list->observers.isEmpty()) { MutexLocker locker(m_mutex); - m_observers.erase(context); // deletes list + m_observers.erase(taskRunner); // deletes list } }
diff --git a/third_party/WebKit/Source/core/page/NetworkStateNotifier.h b/third_party/WebKit/Source/core/page/NetworkStateNotifier.h index dcb0abf..d7ab66b6 100644 --- a/third_party/WebKit/Source/core/page/NetworkStateNotifier.h +++ b/third_party/WebKit/Source/core/page/NetworkStateNotifier.h
@@ -26,15 +26,15 @@ #ifndef NetworkStateNotifier_h #define NetworkStateNotifier_h +#include <memory> #include "core/CoreExport.h" -#include "core/dom/ExecutionContext.h" +#include "platform/WebTaskRunner.h" #include "public/platform/WebConnectionType.h" #include "wtf/Allocator.h" #include "wtf/HashMap.h" #include "wtf/Noncopyable.h" #include "wtf/ThreadingPrimitives.h" #include "wtf/Vector.h" -#include <memory> namespace blink { @@ -45,7 +45,7 @@ public: class NetworkStateObserver { public: - // Will be called on the thread of the context passed in addObserver. + // Will be called on the task runner that is passed in addObserver. virtual void connectionChange(WebConnectionType, double maxBandwidthMbps) = 0; }; @@ -110,12 +110,12 @@ void setOverride(bool onLine, WebConnectionType, double maxBandwidthMbps); void clearOverride(); - // Must be called on the context's thread. An added observer must be removed - // before its ExecutionContext is deleted. It's possible for an observer to - // be called twice for the same event if it is first removed and then added - // during notification. - void addObserver(NetworkStateObserver*, ExecutionContext*); - void removeObserver(NetworkStateObserver*, ExecutionContext*); + // Must be called on the given task runner. An added observer must be removed + // before the observer or its execution context goes away. It's possible for + // an observer to be called twice for the same event if it is first removed + // and then added during notification. + void addObserver(NetworkStateObserver*, WebTaskRunner*); + void removeObserver(NetworkStateObserver*, WebTaskRunner*); private: struct ObserverList { @@ -149,23 +149,21 @@ }; // The ObserverListMap is cross-thread accessed, adding/removing Observers - // running within an ExecutionContext. Kept off-heap to ease cross-thread - // allocation and use; the observers are (already) responsible for explicitly - // unregistering while finalizing. + // running on a task runner. using ObserverListMap = - HashMap<UntracedMember<ExecutionContext>, std::unique_ptr<ObserverList>>; + HashMap<WebTaskRunner*, std::unique_ptr<ObserverList>>; void notifyObservers(WebConnectionType, double maxBandwidthMbps); - void notifyObserversOfConnectionChangeOnContext(WebConnectionType, - double maxBandwidthMbps, - ExecutionContext*); + void notifyObserversOfConnectionChangeOnTaskRunner(WebConnectionType, + double maxBandwidthMbps, + WebTaskRunner*); - ObserverList* lockAndFindObserverList(ExecutionContext*); + ObserverList* lockAndFindObserverList(WebTaskRunner*); // Removed observers are nulled out in the list in case the list is being // iterated over. Once done iterating, call this to clean up nulled // observers. - void collectZeroedObservers(ObserverList*, ExecutionContext*); + void collectZeroedObservers(ObserverList*, WebTaskRunner*); mutable Mutex m_mutex; NetworkState m_state;
diff --git a/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp b/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp index 0876f4d..8a6d494 100644 --- a/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp +++ b/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp
@@ -31,6 +31,7 @@ #include "core/page/NetworkStateNotifier.h" #include "core/dom/Document.h" +#include "core/dom/TaskRunnerHelper.h" #include "platform/testing/UnitTestHelpers.h" #include "public/platform/Platform.h" #include "public/platform/WebConnectionType.h" @@ -89,9 +90,13 @@ m_notifier.setWebConnection(WebConnectionTypeUnknown, 0.0); } - ExecutionContext* getExecutionContext() { return m_document.get(); } + WebTaskRunner* getTaskRunner() { + return TaskRunnerHelper::get(TaskType::Networking, m_document.get()).get(); + } - ExecutionContext* executionContext2() { return m_document2.get(); } + WebTaskRunner* getTaskRunner2() { + return TaskRunnerHelper::get(TaskType::Networking, m_document2.get()).get(); + } protected: void setConnection(WebConnectionType type, double maxBandwidthMbps) { @@ -101,17 +106,16 @@ void addObserverOnNotification(StateObserver* observer, StateObserver* observerToAdd) { - observer->setNotificationCallback(bind( - &NetworkStateNotifier::addObserver, WTF::unretained(&m_notifier), - WTF::unretained(observerToAdd), wrapPersistent(getExecutionContext()))); + observer->setNotificationCallback( + bind(&NetworkStateNotifier::addObserver, WTF::unretained(&m_notifier), + WTF::unretained(observerToAdd), WTF::unretained(getTaskRunner()))); } void removeObserverOnNotification(StateObserver* observer, StateObserver* observerToRemove) { - observer->setNotificationCallback( - bind(&NetworkStateNotifier::removeObserver, - WTF::unretained(&m_notifier), WTF::unretained(observerToRemove), - wrapPersistent(getExecutionContext()))); + observer->setNotificationCallback(bind( + &NetworkStateNotifier::removeObserver, WTF::unretained(&m_notifier), + WTF::unretained(observerToRemove), WTF::unretained(getTaskRunner()))); } bool verifyObservations(const StateObserver& observer, @@ -130,7 +134,7 @@ TEST_F(NetworkStateNotifierTest, AddObserver) { StateObserver observer; - m_notifier.addObserver(&observer, getExecutionContext()); + m_notifier.addObserver(&observer, getTaskRunner()); EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeNone, kNoneMaxBandwidthMbps)); @@ -142,9 +146,9 @@ TEST_F(NetworkStateNotifierTest, RemoveObserver) { StateObserver observer1, observer2; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.removeObserver(&observer1, getExecutionContext()); - m_notifier.addObserver(&observer2, getExecutionContext()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.removeObserver(&observer1, getTaskRunner()); + m_notifier.addObserver(&observer2, getTaskRunner()); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); EXPECT_TRUE(verifyObservations(observer1, WebConnectionTypeNone, @@ -155,8 +159,8 @@ TEST_F(NetworkStateNotifierTest, RemoveSoleObserver) { StateObserver observer1; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.removeObserver(&observer1, getExecutionContext()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.removeObserver(&observer1, getTaskRunner()); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); EXPECT_TRUE(verifyObservations(observer1, WebConnectionTypeNone, @@ -165,7 +169,7 @@ TEST_F(NetworkStateNotifierTest, AddObserverWhileNotifying) { StateObserver observer1, observer2; - m_notifier.addObserver(&observer1, getExecutionContext()); + m_notifier.addObserver(&observer1, getTaskRunner()); addObserverOnNotification(&observer1, &observer2); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); @@ -177,7 +181,7 @@ TEST_F(NetworkStateNotifierTest, RemoveSoleObserverWhileNotifying) { StateObserver observer1; - m_notifier.addObserver(&observer1, getExecutionContext()); + m_notifier.addObserver(&observer1, getTaskRunner()); removeObserverOnNotification(&observer1, &observer1); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); @@ -191,8 +195,8 @@ TEST_F(NetworkStateNotifierTest, RemoveCurrentObserverWhileNotifying) { StateObserver observer1, observer2; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.addObserver(&observer2, getExecutionContext()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.addObserver(&observer2, getTaskRunner()); removeObserverOnNotification(&observer1, &observer1); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); @@ -210,8 +214,8 @@ TEST_F(NetworkStateNotifierTest, RemovePastObserverWhileNotifying) { StateObserver observer1, observer2; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.addObserver(&observer2, getExecutionContext()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.addObserver(&observer2, getTaskRunner()); removeObserverOnNotification(&observer2, &observer1); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); @@ -227,9 +231,9 @@ TEST_F(NetworkStateNotifierTest, RemoveFutureObserverWhileNotifying) { StateObserver observer1, observer2, observer3; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.addObserver(&observer2, getExecutionContext()); - m_notifier.addObserver(&observer3, getExecutionContext()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.addObserver(&observer2, getTaskRunner()); + m_notifier.addObserver(&observer3, getTaskRunner()); removeObserverOnNotification(&observer1, &observer2); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); @@ -243,8 +247,8 @@ TEST_F(NetworkStateNotifierTest, MultipleContextsAddObserver) { StateObserver observer1, observer2; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.addObserver(&observer2, executionContext2()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.addObserver(&observer2, getTaskRunner2()); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); EXPECT_TRUE(verifyObservations(observer1, WebConnectionTypeBluetooth, @@ -255,9 +259,9 @@ TEST_F(NetworkStateNotifierTest, RemoveContext) { StateObserver observer1, observer2; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.addObserver(&observer2, executionContext2()); - m_notifier.removeObserver(&observer2, executionContext2()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.addObserver(&observer2, getTaskRunner2()); + m_notifier.removeObserver(&observer2, getTaskRunner2()); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); EXPECT_TRUE(verifyObservations(observer1, WebConnectionTypeBluetooth, @@ -268,10 +272,10 @@ TEST_F(NetworkStateNotifierTest, RemoveAllContexts) { StateObserver observer1, observer2; - m_notifier.addObserver(&observer1, getExecutionContext()); - m_notifier.addObserver(&observer2, executionContext2()); - m_notifier.removeObserver(&observer1, getExecutionContext()); - m_notifier.removeObserver(&observer2, executionContext2()); + m_notifier.addObserver(&observer1, getTaskRunner()); + m_notifier.addObserver(&observer2, getTaskRunner2()); + m_notifier.removeObserver(&observer1, getTaskRunner()); + m_notifier.removeObserver(&observer2, getTaskRunner2()); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); EXPECT_TRUE(verifyObservations(observer1, WebConnectionTypeNone, @@ -282,7 +286,7 @@ TEST_F(NetworkStateNotifierTest, SetOverride) { StateObserver observer; - m_notifier.addObserver(&observer, getExecutionContext()); + m_notifier.addObserver(&observer, getTaskRunner()); m_notifier.setOnLine(true); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); @@ -320,12 +324,12 @@ EXPECT_EQ(WebConnectionTypeNone, m_notifier.connectionType()); EXPECT_EQ(kNoneMaxBandwidthMbps, m_notifier.maxBandwidth()); - m_notifier.removeObserver(&observer, getExecutionContext()); + m_notifier.removeObserver(&observer, getTaskRunner()); } TEST_F(NetworkStateNotifierTest, NoExtraNotifications) { StateObserver observer; - m_notifier.addObserver(&observer, getExecutionContext()); + m_notifier.addObserver(&observer, getTaskRunner()); setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeBluetooth, @@ -348,7 +352,7 @@ kBluetoothMaxBandwidthMbps)); EXPECT_EQ(observer.callbackCount(), 3); - m_notifier.removeObserver(&observer, getExecutionContext()); + m_notifier.removeObserver(&observer, getTaskRunner()); } TEST_F(NetworkStateNotifierTest, NoNotificationOnInitialization) { @@ -356,7 +360,7 @@ Persistent<Document> document(Document::create()); StateObserver observer; - notifier.addObserver(&observer, document.get()); + notifier.addObserver(&observer, getTaskRunner()); testing::runPendingTasks(); EXPECT_EQ(observer.callbackCount(), 0);
diff --git a/third_party/WebKit/Source/modules/netinfo/NetworkInformation.cpp b/third_party/WebKit/Source/modules/netinfo/NetworkInformation.cpp index e7cadfbf..7ff297e 100644 --- a/third_party/WebKit/Source/modules/netinfo/NetworkInformation.cpp +++ b/third_party/WebKit/Source/modules/netinfo/NetworkInformation.cpp
@@ -5,6 +5,7 @@ #include "modules/netinfo/NetworkInformation.h" #include "core/dom/ExecutionContext.h" +#include "core/dom/TaskRunnerHelper.h" #include "core/events/Event.h" #include "core/page/NetworkStateNotifier.h" #include "modules/EventTargetModules.h" @@ -129,14 +130,18 @@ void NetworkInformation::startObserving() { if (!m_observing && !m_contextStopped) { m_type = networkStateNotifier().connectionType(); - networkStateNotifier().addObserver(this, getExecutionContext()); + networkStateNotifier().addObserver( + this, TaskRunnerHelper::get(TaskType::Networking, getExecutionContext()) + .get()); m_observing = true; } } void NetworkInformation::stopObserving() { if (m_observing) { - networkStateNotifier().removeObserver(this, getExecutionContext()); + networkStateNotifier().removeObserver( + this, TaskRunnerHelper::get(TaskType::Networking, getExecutionContext()) + .get()); m_observing = false; } }
diff --git a/third_party/WebKit/Source/modules/netinfo/WorkerNavigatorNetworkInformation.h b/third_party/WebKit/Source/modules/netinfo/WorkerNavigatorNetworkInformation.h index 17063485..5ce2ae7 100644 --- a/third_party/WebKit/Source/modules/netinfo/WorkerNavigatorNetworkInformation.h +++ b/third_party/WebKit/Source/modules/netinfo/WorkerNavigatorNetworkInformation.h
@@ -10,6 +10,7 @@ namespace blink { +class ExecutionContext; class NetworkInformation; class ScriptState; class WorkerNavigator;
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 7327695..561bd711 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -55244,6 +55244,34 @@ </summary> </histogram> +<histogram name="ResourcePrefetchPredictor.PrefetchHitsCount.Cached" + units="count"> + <owner>lizeb@chromium.org</owner> + <summary> + Number of resources that were prefetched and requested by a page load, for + cached requests. Logged after the prefetcher completes. + </summary> +</histogram> + +<histogram name="ResourcePrefetchPredictor.PrefetchHitsCount.NotCached" + units="count"> + <owner>lizeb@chromium.org</owner> + <summary> + Number of resources that were prefetched and requested by a page load, for + non cached requests. Logged after the prefetcher completes. + </summary> +</histogram> + +<histogram name="ResourcePrefetchPredictor.PrefetchHitsSizeKB" units="KB"> + <owner>lizeb@chromium.org</owner> + <summary> + Amount of useful data fetched from the network for a prefetch request. This + is the total size of the resources accounted for in + ResourcePrefetchPredictor.PrefetchHitsCount.NotCached. Logged after the + prefetcher completes. + </summary> +</histogram> + <histogram name="ResourcePrefetchPredictor.PrefetchingDuration" units="ms"> <owner>alexilin@chromium.org</owner> <summary> @@ -55253,6 +55281,35 @@ </summary> </histogram> +<histogram name="ResourcePrefetchPredictor.PrefetchMissesCount.Cached" + units="count"> + <owner>lizeb@chromium.org</owner> + <summary> + Number of resources that were prefetched but not requested by a page load, + for cached requests. Logged after the prefetcher completes. + </summary> +</histogram> + +<histogram name="ResourcePrefetchPredictor.PrefetchMissesCount.NotCached" + units="count"> + <owner>lizeb@chromium.org</owner> + <summary> + Number of resources that were prefetched but not requested by a page load, + for non cached requests, that is waste. Logged after the prefetcher + completes. + </summary> +</histogram> + +<histogram name="ResourcePrefetchPredictor.PrefetchMissesSizeKB" units="KB"> + <owner>lizeb@chromium.org</owner> + <summary> + Amount of wasted data fetched from the network for a prefetch request. This + is the total size of the resources accounted for in + ResourcePrefetchPredictor.PrefetchMissesCount.NotCached. Logged after the + prefetcher completes. + </summary> +</histogram> + <histogram name="ResourcePrefetchPredictor.ReportingEvent" enum="ResourcePrefetchPredictorReportingEvent"> <owner>alexilin@chromium.org</owner>