diff --git a/.circleci/config.yml b/.circleci/config.yml
index 1d45b98fab..89a56e6e62 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -291,14 +291,16 @@ jobs:
name: Wait for preview and run tests
command: node aio/scripts/test-preview.js $CI_PULL_REQUEST $CI_COMMIT $CI_AIO_MIN_PWA_SCORE
- # This job exists only for backwards-compatibility with old scripts and tests
- # that rely on the pre-Bazel dist/packages-dist layout.
- # It duplicates some work with the job above: we build the bazel packages
- # twice. Even though we have a remote cache, these jobs will typically run in
- # parallel so up-to-date outputs will not be available at the time the build
+
+ # The `build-npm-packages` tasks exist for backwards-compatibility with old scripts and
+ # tests that rely on the pre-Bazel `dist/packages-dist` output structure (build.sh).
+ # Having multiple jobs that independently build in this manner duplicates some work; we build
+ # the bazel packages more than once. Even though we have a remote cache, these jobs will
+ # typically run in parallel so up-to-date outputs will not be available at the time the build
# starts.
- # No new jobs should depend on this one.
- build-packages-dist:
+
+ # Build the view engine npm packages. No new jobs should depend on this.
+ build-npm-packages:
<<: *job_defaults
resource_class: xlarge
steps:
@@ -319,6 +321,29 @@ jobs:
root: dist
paths:
- packages-dist
+
+
+ # Build the ivy npm packages.
+ build-ivy-npm-packages:
+ <<: *job_defaults
+ resource_class: xlarge
+ steps:
+ - checkout:
+ <<: *post_checkout
+ - restore_cache:
+ key: *cache_key
+ - *define_env_vars
+ - *setup_circleci_bazel_config
+ - *yarn_install
+ - *setup_bazel_remote_execution
+
+ - run: scripts/build-ivy-npm-packages.sh
+
+ # Save the npm packages from //packages/... for other workflow jobs to read
+ # https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs
+ - persist_to_workspace:
+ root: dist
+ paths:
- packages-dist-ivy-aot
# We run the integration tests outside of Bazel for now.
@@ -484,6 +509,21 @@ jobs:
# the ESM5/ES2015 output. See: https://github.com/angular/angular/issues/27966
# - run: yarn gulp source-map-test
+ # Job to run unit tests from angular/material2. Needs a browser since all
+ # component unit tests assume they're running in the browser environment.
+ material-unit-tests:
+ <<: *job_defaults
+ resource_class: xlarge
+ docker:
+ - image: *browsers_docker_image
+ steps:
+ - checkout:
+ <<: *post_checkout
+ - *define_env_vars
+ - attach_workspace:
+ at: dist
+ - run: ./scripts/ci/run_angular_material_unit_tests.sh
+
workflows:
version: 2
default_workflow:
@@ -491,7 +531,8 @@ workflows:
- lint
- test
- test_ivy_aot
- - build-packages-dist
+ - build-npm-packages
+ - build-ivy-npm-packages
- test_aio
- legacy-unit-tests-local
- legacy-unit-tests-saucelabs
@@ -500,22 +541,22 @@ workflows:
- test_aio
- legacy-e2e-tests:
requires:
- - build-packages-dist
+ - build-npm-packages
- legacy-misc-tests:
requires:
- - build-packages-dist
+ - build-npm-packages
- test_aio_local:
requires:
- - build-packages-dist
+ - build-npm-packages
- test_aio_local_ivy:
requires:
- - build-packages-dist
+ - build-npm-packages
- test_aio_tools:
requires:
- - build-packages-dist
+ - build-npm-packages
- test_docs_examples:
requires:
- - build-packages-dist
+ - build-npm-packages
- aio_preview:
# Only run on PR builds. (There can be no previews for non-PR builds.)
filters:
@@ -526,7 +567,7 @@ workflows:
- aio_preview
- integration_test:
requires:
- - build-packages-dist
+ - build-npm-packages
- publish_snapshot:
# Note: no filters on this job because we want it to run for all upstream branches
# We'd really like to filter out pull requests here, but not yet available:
@@ -541,13 +582,17 @@ workflows:
- test_aio_local
- test_aio_local_ivy
- test_docs_examples
- # Get the artifacts to publish from the build-packages-dist job
+ # Get the artifacts to publish from the build-npm-packages job
# since the publishing script expects the legacy outputs layout.
- - build-packages-dist
+ - build-npm-packages
+ - build-ivy-npm-packages
- legacy-e2e-tests
- legacy-misc-tests
- legacy-unit-tests-local
- legacy-unit-tests-saucelabs
+ - material-unit-tests:
+ requires:
+ - build-ivy-npm-packages
aio_monitoring:
diff --git a/scripts/build-ivy-npm-packages.sh b/scripts/build-ivy-npm-packages.sh
new file mode 100755
index 0000000000..823bd6ca1f
--- /dev/null
+++ b/scripts/build-ivy-npm-packages.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+source ./scripts/package-builder.sh
+
+# Build the ivy packages
+buildTargetPackages "dist/packages-dist-ivy-aot" "aot" "Ivy AOT"
diff --git a/scripts/build-packages-dist.sh b/scripts/build-packages-dist.sh
index 89ecc1b946..76f989ef5a 100755
--- a/scripts/build-packages-dist.sh
+++ b/scripts/build-packages-dist.sh
@@ -1,69 +1,6 @@
#!/usr/bin/env bash
-# Build the dist/packages-dist directory in the same fashion as the legacy
-# /build.sh script, by building the npm packages with Bazel and copying files.
-# This is needed for scripts and tests which are not updated to the Bazel output
-# layout (which always matches the input layout).
-# Do not add new dependencies on this script, instead adapt scripts to use the
-# new layout, and write new tests as Bazel targets.
-set -u -e -o pipefail
+source ./scripts/package-builder.sh
-cd "$(dirname "$0")"
-
-# basedir is the workspace root
-readonly basedir=$(pwd)/..
-# We need to resolve the Bazel binary in the node modules because running Bazel
-# through `yarn bazel` causes additional output that throws off command stdout.
-readonly bazelBin=$(yarn bin)/bazel
-readonly bin=$(${bazelBin} info bazel-bin)
-
-function buildTargetPackages() {
- targets="$1"
- destPath="$2"
- compileMode="$3"
- desc="$4"
-
- echo "##################################"
- echo "scripts/build-packages-dist.sh:"
- echo " building @angular/* npm packages"
- echo " mode: ${desc}"
- echo "##################################"
-
- # Use --config=release so that snapshot builds get published with embedded version info
- echo "$targets" | xargs ${bazelBin} build --config=release --define=compile=$compileMode
-
- [ -d "${basedir}/${destPath}" ] || mkdir -p $basedir/${destPath}
-
- dirs=`echo "$targets" | sed -e 's/\/\/packages\/\(.*\):npm_package/\1/'`
-
- for pkg in $dirs; do
- # Skip any that don't have an "npm_package" target
- srcDir="${bin}/packages/${pkg}/npm_package"
- destDir="${basedir}/${destPath}/${pkg}"
- if [ -d $srcDir ]; then
- echo "# Copy artifacts to ${destDir}"
- rm -rf $destDir
- cp -R $srcDir $destDir
- chmod -R u+w $destDir
- fi
- done
-}
-
-# Ideally these integration tests should run under bazel, and just list the npm
-# packages in their deps[].
-# Until then, we have to manually run bazel first to create the npm packages we
-# want to test.
-BAZEL_TARGETS=`${bazelBin} query --output=label 'attr("tags", "\[.*release-with-framework.*\]", //packages/...) intersect kind(".*_package", //packages/...)'`
-buildTargetPackages "$BAZEL_TARGETS" "dist/packages-dist" "legacy" "Production"
-
-# We don't use the ivy build in the integration tests, only when publishing
-# snapshots.
-# This logic matches what we use in the .circleci/config.yml file to short-
-# circuit execution of the publish-packages job.
-[[ "${CI_PULL_REQUEST-}" != "false"
- || "${CI_REPO_OWNER-}" != "angular"
- || "${CI_REPO_NAME-}" != "angular"
- || "${CI_BRANCH}" != "master"
-]] && exit 0
-
-buildTargetPackages "$BAZEL_TARGETS" "dist/packages-dist-ivy-aot" "aot" "Ivy AOT"
+# Build the legacy (view engine) npm packages into dist/packages-dist
+buildTargetPackages "dist/packages-dist" "legacy" "Production"
diff --git a/scripts/ci/run_angular_material_unit_tests.sh b/scripts/ci/run_angular_material_unit_tests.sh
new file mode 100755
index 0000000000..3eb0d109e6
--- /dev/null
+++ b/scripts/ci/run_angular_material_unit_tests.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+set -u -e -o pipefail
+
+
+# This script runs unit tests from angular/material2.
+
+# Save the dir for the root of the Angular repo.
+angular_dir=$(pwd)
+
+# Clone the angular/material2 repo into tmp so we can run the tests from there.
+# We specifically use /tmp here because we want the cloned repo to be completely
+# isolated from angular/angular in order to avoid any bad interactions between their
+# separate build setups. Also note that this is using the ivy-2019 branch, which has
+# previously been set up to work with ivy.
+cd /tmp
+rm -rf /tmp/material2
+git clone --depth 1 --branch ivy-2019 https://github.com/angular/material2.git
+
+# Install dependencies for the freshly cloned repo.
+cd /tmp/material2
+yarn install --frozen-lockfile --non-interactive # TODO: cache
+
+# Install this version of Angular into the freshly cloned repo.
+rm -rf /tmp/material2/node_modules/@angular/*
+cp -r ${angular_dir}/dist/packages-dist-ivy-aot/* /tmp/material2/node_modules/@angular/
+
+# The angular/material2 CI sets TEST_PLATFORM to either local, saucelabs, or browserstack.
+# For angular/angular, we only want to run the local tests.
+export TEST_PLATFORM=local
+
+# Append the test blacklist into angular/material2's karma-test-shim.js.
+# This filters out known-failing tests because the goal is to prevent regressions.
+cat ${angular_dir}/tools/material-ci/angular_material_test_blacklist.js >> /tmp/material2/test/karma-test-shim.js
+
+# Now actually run the tests.
+yarn gulp test:single-run
diff --git a/scripts/package-builder.sh b/scripts/package-builder.sh
new file mode 100755
index 0000000000..a3f349661a
--- /dev/null
+++ b/scripts/package-builder.sh
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+
+# Build the dist/packages-dist directory in the same fashion as the legacy
+# /build.sh script, by building the npm packages with Bazel and copying files.
+# This is needed for scripts and tests which are not updated to the Bazel output
+# layout (which always matches the input layout).
+# Do not add new dependencies on this script, instead adapt scripts to use the
+# new layout, and write new tests as Bazel targets.
+#
+# Ideally integration tests should run under bazel, and just consume the npm
+# packages via `deps`. Until that works, we manually build the npm packages and then
+# copy the results to the appropriate `dist` location.
+
+set -u -e -o pipefail
+
+cd "$(dirname "$0")"
+
+# basedir is the workspace root
+readonly base_dir=$(pwd)/..
+# We need to resolve the Bazel binary in the node modules because running Bazel
+# through `yarn bazel` causes additional output that throws off command stdout.
+readonly bazel_bin=$(yarn bin)/bazel
+readonly bin=$(${bazel_bin} info bazel-bin)
+
+function buildTargetPackages() {
+ # List of targets to build, e.g. core, common, compiler, etc.
+ targets=$(${bazel_bin} query --output=label 'attr("tags", "\[.*release-with-framework.*\]", //packages/...) intersect kind(".*_package", //packages/...)')
+
+ # Path to the output directory into which we copy the npm packages.
+ dest_path="$1"
+
+ # Either "legacy" (view engine) or "aot" (ivy)
+ compile_mode="$2"
+
+ # Human-readable description of the build.
+ desc="$3"
+
+ echo "##################################"
+ echo "scripts/build-packages-dist.sh:"
+ echo " building @angular/* npm packages"
+ echo " mode: ${desc}"
+ echo "##################################"
+
+ # Use --config=release so that snapshot builds get published with embedded version info
+ echo "$targets" | xargs ${bazel_bin} build --config=release --define=compile=${compile_mode}
+
+ [[ -d "${base_dir}/${dest_path}" ]] || mkdir -p ${base_dir}/${dest_path}
+
+ dirs=`echo "$targets" | sed -e 's/\/\/packages\/\(.*\):npm_package/\1/'`
+
+ for pkg in ${dirs}; do
+ # Skip any that don't have an "npm_package" target
+ src_dir="${bin}/packages/${pkg}/npm_package"
+ dest_dir="${base_dir}/${dest_path}/${pkg}"
+ if [[ -d ${src_dir} ]]; then
+ echo "# Copy artifacts to ${dest_dir}"
+ rm -rf ${dest_dir}
+ cp -R ${src_dir} ${dest_dir}
+ chmod -R u+w ${dest_dir}
+ fi
+ done
+}
+
diff --git a/tools/material-ci/angular_material_test_blacklist.js b/tools/material-ci/angular_material_test_blacklist.js
new file mode 100644
index 0000000000..841c30c08d
--- /dev/null
+++ b/tools/material-ci/angular_material_test_blacklist.js
@@ -0,0 +1,4621 @@
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+
+/**
+ * Blacklist of unit tests from angular/material2 with ivy that are skipped when running on
+ * angular/angular. As bugs are resolved, items should be removed from this blacklist.
+ *
+ * The `notes` section should be used to keep track of specific issues associated with the failures.
+ */
+
+// clang-format off
+// tslint:disable
+
+window.testBlacklist = {
+ "Portals CdkPortalOutlet should load a template into the portal": {
+ "error": "TypeError: Cannot read property 'createEmbeddedView' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals CdkPortalOutlet should project template context bindings in the portal": {
+ "error": "TypeError: Cannot read property 'createEmbeddedView' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals CdkPortalOutlet should set the `portal` when attaching a component portal programmatically": {
+ "error": "TypeError: Cannot read property 'attachComponentPortal' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals CdkPortalOutlet should not clear programmatically-attached portals on init": {
+ "error": "TypeError: Cannot read property 'attach' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals CdkPortalOutlet should be considered attached when attaching using `attach`": {
+ "error": "TypeError: Cannot read property 'hasAttached' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals CdkPortalOutlet should be considered attached when attaching using `attachComponentPortal`": {
+ "error": "TypeError: Cannot read property 'hasAttached' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals CdkPortalOutlet should be considered attached when attaching using `attachTemplatePortal`": {
+ "error": "TypeError: Cannot read property 'hasAttached' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals CdkPortalOutlet should use the `ComponentFactoryResolver` from the portal, if available": {
+ "error": "TypeError: Cannot read property 'attachComponentPortal' of undefined",
+ "notes": "Unknown"
+ },
+ "Portals DomPortalOutlet should attach and detach a component portal": {
+ "error": "Error: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.",
+ "notes": "Unknown"
+ },
+ "Portals DomPortalOutlet should attach and detach a component portal with a given injector": {
+ "error": "Error: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.",
+ "notes": "Unknown"
+ },
+ "Portals DomPortalOutlet should attach and detach a template portal with a binding": {
+ "error": "Error: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.",
+ "notes": "Unknown"
+ },
+ "Portals DomPortalOutlet should change the attached portal": {
+ "error": "Error: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.",
+ "notes": "Unknown"
+ },
+ "Portals DomPortalOutlet should attach and detach a component portal without a ViewContainerRef": {
+ "error": "Error: Expected '
Pizza
Chocolate
' to be '', 'Expected the DomPortalOutlet to be empty after detach'.",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should add monitored class and listener upon monitoring": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should not add multiple listeners to the same element": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should remove monitored class and listener upon stop monitoring": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should stop monitoring all monitored elements upon destroy": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should emit and add filled class upon start animation": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should emit and remove filled class upon end animation": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should cleanup filled class if monitoring stopped in autofilled state": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should complete the stream when monitoring is stopped": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should emit on stream inside the NgZone": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AutofillMonitor should not emit on init if input is unfilled": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should be able to create a message element": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should not register empty strings": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should not register non-string values": {
+ "error": "Error: Expected function not to throw, but it threw TypeError: Cannot read property 'nativeElement' of undefined.",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should not throw when trying to remove non-string value": {
+ "error": "Error: Expected function not to throw, but it threw TypeError: Cannot read property 'nativeElement' of undefined.",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should de-dupe a message registered multiple times": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should be able to register multiple messages": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should be able to unregister messages": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should be able to unregister messages while having others registered": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should be able to append to an existing list of aria describedby": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should be able to handle multiple regisitrations of the same message to an element": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "AriaDescriber should clear any pre-existing containers": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should render initial state": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should get the data length": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should get the viewport size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should update viewport size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should get the rendered range": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should get the rendered content offset": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should get the scroll offset": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should get the rendered content size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should measure range size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should set total content size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should set total content size in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should set a class based on the orientation": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should set the vertical class if an invalid orientation is set": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should set rendered range": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should set content offset to top of content": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should set content offset to bottom of content": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should scroll to offset": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should scroll to index": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should scroll to offset in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should scroll to index in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should output scrolled index": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should update viewport as user scrolls down": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should update viewport as user scrolls up": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should render buffer element at the end when scrolled to the top": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should render buffer element at the start and end when scrolled to the middle": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should render buffer element at the start when scrolled to the bottom": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should handle dynamic item size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should handle dynamic buffer size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should handle dynamic item array": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should update viewport as user scrolls right in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should update viewport as user scrolls left in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should work with an Observable": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should work with a DataSource": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should trackBy value by default": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should trackBy index when specified": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should recycle views when template cache is large enough to accommodate": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should not recycle views when template cache is full": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should render up to maxBufferPx when buffer dips below minBufferPx": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should throw if maxBufferPx is less than minBufferPx": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should register and degregister with ScrollDispatcher": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should emit on viewChange inside the Angular zone": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with FixedSizeVirtualScrollStrategy should not throw when disposing of a view that will not fit in the cache": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with RTL direction should initially be scrolled all the way right and showing the first item in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with RTL direction should scroll through items as user scrolls to the left in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with RTL direction should interpret scrollToOffset amount as an offset from the right in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with RTL direction should scroll to the correct index in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with RTL direction should emit the scrolled to index in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with RTL direction should set total content size": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with RTL direction should set total content size in horizontal mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with no VirtualScrollStrategy should fail on construction": {
+ "error": "Error: Expected function to throw an exception with message 'Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.', but it threw an exception with message 'StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with AutoSizeVirtualScrollStrategy should render initial state for uniform items": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with AutoSizeVirtualScrollStrategy should render extra content if first item is smaller than average": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkVirtualScrollViewport with AutoSizeVirtualScrollStrategy should throw if maxBufferPx is less than minBufferPx": {
+ "error": "Error: StaticInjectorError(Platform: core)[CdkVirtualScrollViewport]: ",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should initialize with a connected data source": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should initialize with a rendered header with the right number of header cells": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should initialize with rendered rows with right number of row cells": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should initialize with column class names provided to header and data row cells": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should initialize with the right accessibility roles": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should disconnect the data source when table is destroyed": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should re-render the rows when the data changes": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should clear the `mostRecentCellOutlet` on destroy": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should correctly use the differ to add/remove/move rows when the data is heterogeneous": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should correctly use the differ to add/remove/move rows when the data contains multiple occurrences of the same object instance": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should clear the row view containers on destroy": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should match the right table content with dynamic data": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable in a typical simple use case should be able to dynamically change the columns for header and rows": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should render no rows when the data is null": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should be able to render multiple header and footer rows": {
+ "error": "Error: Missing definitions for header, footer, and row; cannot determine which columns should be rendered.",
+ "notes": "Unknown"
+ },
+ "CdkTable should be able to render and change multiple header and footer rows": {
+ "error": "Error: Missing definitions for header, footer, and row; cannot determine which columns should be rendered.",
+ "notes": "Unknown"
+ },
+ "CdkTable with different data inputs other than data source should render with data array input": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with different data inputs other than data source should render with data stream input": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with different data inputs other than data source should throw an error if the data source is not valid": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable missing row defs should be able to render without a header row def": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable missing row defs should be able to render without a data row def": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable missing row defs should be able to render without a footer row def": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should render correctly when using native HTML tags": {
+ "error": "TypeError: Cannot read property 'elementRef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should render cells even if row data is falsy": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should be able to apply class-friendly css class names for the column cells": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should not clobber an existing table role": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should throw an error if two column definitions have the same name": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should throw an error if a column definition is requested but not defined": {
+ "error": "Error: Expected function to throw an exception with message 'Could not find column with id \"column_a\".', but it threw an exception with message 'Cannot read property 'viewContainer' of undefined'.",
+ "notes": "Unknown"
+ },
+ "CdkTable should throw an error if the row definitions are missing": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should not throw an error if columns are undefined on initialization": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should be able to dynamically add/remove column definitions": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should be able to register column, row, and header row definitions outside content": {
+ "error": "TypeError: Cannot read property 'addColumnDef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable using when predicate should be able to display different row templates based on the row data": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable using when predicate should error if there is row data that does not have a matching row template": {
+ "error": "Error: Expected function to throw an Error.",
+ "notes": "Unknown"
+ },
+ "CdkTable using when predicate should fail when multiple rows match data without multiTemplateDataRows": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable using when predicate with multiTemplateDataRows should be able to render multiple rows per data object": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable using when predicate with multiTemplateDataRows should have the correct data and row indicies": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable using when predicate with multiTemplateDataRows should have the correct data and row indicies when data contains multiple instances of the same object instance": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on \"display: flex\" table style should stick and unstick headers": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on \"display: flex\" table style should stick and unstick footers": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on \"display: flex\" table style should stick and unstick left columns": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on \"display: flex\" table style should stick and unstick right columns": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on \"display: flex\" table style should reverse directions for sticky columns in rtl": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on \"display: flex\" table style should stick and unstick combination of sticky header, footer, and columns": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on native table layout should stick and unstick headers": {
+ "error": "TypeError: Cannot read property 'elementRef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on native table layout should stick and unstick footers": {
+ "error": "TypeError: Cannot read property 'elementRef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on native table layout should stick tfoot when all rows are stuck": {
+ "error": "TypeError: Cannot read property 'elementRef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on native table layout should stick and unstick left columns": {
+ "error": "TypeError: Cannot read property 'elementRef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on native table layout should stick and unstick right columns": {
+ "error": "TypeError: Cannot read property 'elementRef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with sticky positioning on native table layout should stick and unstick combination of sticky header, footer, and columns": {
+ "error": "TypeError: Cannot read property 'elementRef' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with trackBy should add/remove/move rows with reference-based trackBy": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with trackBy should add/remove/move rows with changed references without property-based trackBy": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with trackBy should add/remove/move rows with changed references with property-based trackBy": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with trackBy should add/remove/move rows with changed references with index-based trackBy": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable with trackBy should change row implicit data even when trackBy finds no changes": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should match the right table content with dynamic data source": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should be able to apply classes to rows based on their context": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTable should be able to apply classes to cells based on their row context": {
+ "error": "TypeError: Cannot read property 'viewContainer' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkAccordion should not register nested items to the same accordion": {
+ "error": "TypeError: Cannot read property 'accordion' of undefined",
+ "notes": "Unknown"
+ },
+ "ScrollDispatcher Basic usage should not register the same scrollable twice": {
+ "error": "Error: Expected spy scroll spy not to have been called.",
+ "notes": "Unknown"
+ },
+ "ScrollDispatcher Nested scrollables should be able to identify the containing scrollables of an element": {
+ "error": "Error: Expected $.length = 4 to equal 2.",
+ "notes": "Unknown"
+ },
+ "ScrollDispatcher Nested scrollables should emit when one of the ancestor scrollable containers is scrolled": {
+ "error": "Error: Expected spy scroll spy to have been called once. It was called 2 times.",
+ "notes": "Unknown"
+ },
+ "ScrollDispatcher lazy subscription should remove global listeners on unsubscribe, despite any other live scrollables": {
+ "error": "Error: Expected 8 to be 4, 'Expected multiple scrollables'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag standalone draggable should enable native drag interactions when there is a drag handle": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should not be able to drag the entire element if it has a handle": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should be able to drag an element using its handle": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should not be able to drag the element if the handle is disabled": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should not be able to drag using the handle if the element is disabled": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should be able to use a handle that was added after init": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should be able to use more than one handle to drag the element": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should be able to drag with a handle that is not a direct descendant": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should disable the tap highlight while dragging via the handle": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag draggable with a handle should preserve any existing `webkitTapHighlightColor`": {
+ "error": "TypeError: Cannot read property 'removeEventListener' of null",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should dispatch the `dropped` event when an item has been dropped": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should expose whether an item was dropped over a container": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should dispatch the `sorted` event as an item is being sorted": {
+ "error": "TypeError: Cannot read property 'args' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should not move items in a vertical list if the pointer is too far away": {
+ "error": "Error: Expected $.previousIndex = -1 to equal 0.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should not move the original element from its initial DOM position": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should dispatch the `dropped` event in a horizontal drop zone": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should dispatch the correct `dropped` event in RTL horizontal drop zone": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should not move items in a horizontal list if pointer is too far away": {
+ "error": "Error: Expected $.previousIndex = -1 to equal 0.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should remove the preview if its `transitionend` event timed out": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should emit the released event as soon as the item is released": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should reset immediately when failed drag happens after a successful one": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should not wait for transition that are not on the `transform` property": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should pick out the `transform` duration if multiple properties are being transitioned": {
+ "error": "TypeError: Cannot read property 'clientRect' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should move the placeholder as an item is being sorted down": {
+ "error": "Error: Expected 0 to be 1.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should move the placeholder as an item is being sorted down on a scrolled page": {
+ "error": "Error: Expected 0 to be 1.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should move the placeholder as an item is being sorted up": {
+ "error": "Error: Expected 3 to be 2.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should move the placeholder as an item is being sorted up on a scrolled page": {
+ "error": "Error: Expected 3 to be 2.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should move the placeholder as an item is being sorted to the right": {
+ "error": "Error: Expected 0 to be 1.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should move the placeholder as an item is being sorted to the left": {
+ "error": "Error: Expected 3 to be 2.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out the elements correctly, if an element skips multiple positions when sorting vertically": {
+ "error": "Error: Expected $[0] = 'Zero' to equal 'One'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out the elements correctly, when swapping down with a taller element": {
+ "error": "Error: Expected '' to be 'translate3d(0px, 25px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out the elements correctly, when swapping up with a taller element": {
+ "error": "Error: Expected '' to be 'translate3d(0px, -25px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out elements correctly, when swapping an item with margin": {
+ "error": "Error: Expected '' to be 'translate3d(0px, 37px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out the elements correctly, if an element skips multiple positions when sorting horizontally": {
+ "error": "Error: Expected $[0] = 'Zero' to equal 'One'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out the elements correctly, when swapping to the right with a wider element": {
+ "error": "Error: Expected '' to be 'translate3d(75px, 0px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out the elements correctly, when swapping left with a wider element": {
+ "error": "Error: Expected '' to be 'translate3d(-75px, 0px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lay out elements correctly, when horizontally swapping an item with margin": {
+ "error": "Error: Expected '' to be 'translate3d(87px, 0px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should not swap position for tiny pointer movements": {
+ "error": "Error: Expected $[0] = 'Zero' to equal 'One'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should swap position for pointer movements in the opposite direction": {
+ "error": "Error: Expected $[0] = 'Zero' to equal 'One'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should be able to customize the preview element": {
+ "error": "Error: Expected cdk-drag cdk-drag-preview to contain 'custom-preview'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should position custom previews next to the pointer": {
+ "error": "Error: Expected 'translate3d(8px, 3533px, 0px)' to be 'translate3d(50px, 50px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lock position inside a drop container along the x axis": {
+ "error": "Error: Expected 'translate3d(58px, 3533px, 0px)' to be 'translate3d(100px, 50px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should lock position inside a drop container along the y axis": {
+ "error": "Error: Expected 'translate3d(8px, 3583px, 0px)' to be 'translate3d(50px, 100px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should inherit the position locking from the drop container": {
+ "error": "Error: Expected 'translate3d(58px, 3533px, 0px)' to be 'translate3d(100px, 50px, 0px)'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should be able to customize the placeholder": {
+ "error": "Error: Expected cdk-drag cdk-drag-placeholder to contain 'custom-placeholder'.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should clear the `transform` value from siblings when item is dropped`": {
+ "error": "Error: Expected '' to be truthy.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a drop container should not move the item if the group is disabled": {
+ "error": "Error: Expected $.length = 0 to equal 4.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should dispatch the `dropped` event when an item has been dropped into a new container": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to move the element over a new container and return it": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to move the element over a new container and return it to the initial one, even if it no longer matches the enterPredicate": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should transfer the DOM element from one drop zone to another": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should not be able to transfer an item into a container that is not in `connectedTo`": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should not be able to transfer an item that does not match the `enterPredicate`": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should call the `enterPredicate` with the item and the container it is entering": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to start dragging after an item has been transferred": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to return the last item inside its initial container": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to connect two drop zones by id": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to connect two drop zones using the drop list group": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to pass a single id to `connectedTo`": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should return DOM element to its initial container after it is dropped, in a container with one draggable item": {
+ "error": "Error: Expected $.container.element.nativeElement =
...
to equal
...
.",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should be able to return an element to its initial container in the same sequence, even if it is not connected to the current container": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should not be able to drop an element into a container that is under another element": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should set a class when a container can receive an item": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkDrag in a connected drop container should toggle the `receiving` class when the item enters a new list": {
+ "error": "TypeError: Cannot read property 'element' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree should clear out the `mostRecentTreeNode` on destroy": {
+ "error": "Error: Expected false to be true.",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree should initialize with a connected data source": {
+ "error": "TypeError: Cannot read property 'dataSource' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree should initialize with rendered dataNodes": {
+ "error": "TypeError: Cannot read property 'classList' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree with toggle should expand/collapse the node": {
+ "error": "TypeError: Cannot read property 'click' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree with toggle should expand/collapse the node recursively": {
+ "error": "TypeError: Cannot read property 'click' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree with array data source with the right data": {
+ "error": "TypeError: Cannot read property '0' of null",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree with trackBy should add/remove/move nodes with reference-based trackBy": {
+ "error": "TypeError: Cannot read property 'getAttribute' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree with trackBy should add/remove/move nodes with property-based trackBy": {
+ "error": "TypeError: Cannot read property 'getAttribute' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree flat tree with trackBy should add/remove/move nodes with index-based trackBy": {
+ "error": "TypeError: Cannot read property 'getAttribute' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree should initialize with a connected data source": {
+ "error": "TypeError: Cannot read property 'dataSource' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree should initialize with rendered dataNodes": {
+ "error": "TypeError: Cannot read property 'classList' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree with toggle should expand/collapse the node multiple times": {
+ "error": "TypeError: Cannot read property 'click' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree with toggle should expand/collapse the node recursively": {
+ "error": "TypeError: Cannot read property 'click' of undefined",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree with trackBy should add/remove/move children nodes with reference-based trackBy": {
+ "error": "Error: Expected 0 to be 3.",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree with trackBy should add/remove/move children nodes with property-based trackBy": {
+ "error": "Error: Expected 0 to be 3.",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree with trackBy should add/remove/move children nodes with index-based trackBy": {
+ "error": "Error: Expected 0 to be 3.",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree should throw an error when missing function in nested tree": {
+ "error": "Error: Expected function to throw an exception with message 'Could not find functions for nested/flat tree in tree control.', but it threw an exception with message 'Cannot read property 'viewContainer' of undefined'.",
+ "notes": "Unknown"
+ },
+ "CdkTree nested tree should throw an error when missing function in flat tree": {
+ "error": "Error: Expected function to throw an exception with message 'Could not find functions for nested/flat tree in tree control.', but it threw an exception with message 'Cannot read property 'viewContainer' of undefined'.",
+ "notes": "Unknown"
+ },
+ "CdkTree with depth should have correct depth for nested tree": {
+ "error": "Error: Expected 0 to be 5.",
+ "notes": "Unknown"
+ },
+ "MatButton should expose the ripple instance": {
+ "error": "Error: Expected undefined to be truthy.",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should initialize to the selected index": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should send focus change event": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should not set focus a disabled tab": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should move focus right and skip disabled tabs": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should move focus left and skip disabled tabs": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should support key down events to move and select focus": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should move focus to the first tab when pressing HOME": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should skip disabled items when moving focus using HOME": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should move focus to the last tab when pressing END": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader focusing should skip disabled items when moving focus using END": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination ltr should show width when tab list width exceeds container": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination ltr should scroll to show the focused tab label": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination ltr should show ripples for pagination buttons": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination ltr should allow disabling ripples for pagination buttons": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination rtl should scroll to show the focused tab label": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination should re-align the ink bar when the direction changes": {
+ "error": "TypeError: Cannot read property '_inkBar' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination should re-align the ink bar when the window is resized": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination should update arrows when the window is resized": {
+ "error": "Error: : could not find an object to spy upon for _checkPaginationEnabled()",
+ "notes": "Unknown"
+ },
+ "MatTabHeader pagination should update the pagination state if the content of the labels changes": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList basic behaviors should toggle the chips disabled state based on whether it is disabled": {
+ "error": "Error: Expected true to be false.",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList with selected chips should have role listbox": {
+ "error": "Error: Expected null to be 'listbox'.",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList focus behaviors should focus the first chip on focus": {
+ "error": "Error: Expected -1 to be 0.",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList focus behaviors should watch for chip focus": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList focus behaviors on chip destroy should focus the next item": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList focus behaviors on chip destroy should focus the previous item": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList focus behaviors on chip destroy should not focus if chip list is not focused": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList focus behaviors on chip destroy should move focus to the last chip when the focused chip was deleted inside acomponent with animations": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList keyboard behavior LTR (default) should focus previous item when press LEFT ARROW": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList keyboard behavior LTR (default) should focus next item when press RIGHT ARROW": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList keyboard behavior LTR (default) should focus the first item when pressing HOME": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList keyboard behavior RTL should focus previous item when press RIGHT ARROW": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList keyboard behavior RTL should focus next item when press LEFT ARROW": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList StandardChipList keyboard behavior should account for the direction changing": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList FormFieldChipList keyboard behavior should maintain focus if the active chip is deleted": {
+ "error": "TypeError: Cannot read property 'nativeElement' of null",
+ "notes": "Unknown"
+ },
+ "MatChipList FormFieldChipList keyboard behavior when the input has focus should not focus the last chip when press DELETE": {
+ "error": "TypeError: Cannot read property 'nativeElement' of null",
+ "notes": "Unknown"
+ },
+ "MatChipList FormFieldChipList keyboard behavior when the input has focus should focus the last chip when press BACKSPACE": {
+ "error": "TypeError: Cannot read property 'nativeElement' of null",
+ "notes": "Unknown"
+ },
+ "MatChipList FormFieldChipList should complete the stateChanges stream on destroy": {
+ "error": "TypeError: Cannot read property 'nativeElement' of null",
+ "notes": "Unknown"
+ },
+ "MatChipList FormFieldChipList should point the label id to the chip input": {
+ "error": "TypeError: Cannot read property 'nativeElement' of null",
+ "notes": "Unknown"
+ },
+ "MatChipList with chip remove should properly focus next item if chip is removed through click": {
+ "error": "TypeError: Cannot read property 'focus' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList selection logic should float placeholder if chip is selected": {
+ "error": "Error: Expected false to be true, 'placeholder should be floating'.",
+ "notes": "Unknown"
+ },
+ "MatChipList selection logic should select an option that was added after initialization": {
+ "error": "Error: Expected undefined to contain 'potatoes-8', 'Expect value contain the value of the last option'.",
+ "notes": "Unknown"
+ },
+ "MatChipList selection logic should not select disabled chips": {
+ "error": "TypeError: Cannot read property 'selected' of undefined",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration single selection should take an initial view value with reactive forms": {
+ "error": "Error: Expected false to be truthy 'Expect pizza-1 chip to be selected'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration single selection should set the view value from the form": {
+ "error": "Error: Expected false to be truthy 'Expect chip to be selected'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration single selection should update the form value when the view changes": {
+ "error": "Error: Expected null to equal 'steak-0'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration single selection should clear the selection when a nonexistent option value is selected": {
+ "error": "Error: Expected false to be truthy 'Expected chip with the value to be selected.'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration single selection should set the control to dirty when the chip list's value changes in the DOM": {
+ "error": "Error: Expected false to equal true.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration single selection should be able to programmatically select a falsy option": {
+ "error": "Error: Expected false to be true, 'Expected first option to be selected'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration single selection should blur the form field when the active chip is blurred": {
+ "error": "Error: Expected ng-tns-c10704-0 mat-primary mat-form-field mat-form-field-type-mat-chip-list mat-form-field-appearance-legacy mat-form-field-can-float mat-form-field-has-label mat-form-field-hide-placeholder ng-untouched ng-pristine ng-valid _mat-animation-noopable to contain 'mat-focused'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration multiple selection should take an initial view value with reactive forms": {
+ "error": "Error: Expected false to be truthy 'Expect pizza-1 chip to be selected'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration multiple selection should set the view value from the form": {
+ "error": "Error: Expected false to be truthy 'Expect chip to be selected'.",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration multiple selection should update the form value when the view changes": {
+ "error": "Error: Expected null to equal [ 'steak-0' ].",
+ "notes": "Unknown"
+ },
+ "MatChipList forms integration multiple selection should clear the selection when a nonexistent option value is selected": {
+ "error": "Error: Expected false to be truthy 'Expected chip with the value to be selected.'.",
+ "notes": "Unknown"
+ },
+ "MatChipList chip list with chip input should take an initial view value with reactive forms": {
+ "error": "Error: Expected false to be truthy 'Expect pizza-1 chip to be selected'.",
+ "notes": "Unknown"
+ },
+ "MatChipList chip list with chip input should set the view value from the form": {
+ "error": "Error: Expected false to be truthy 'Expect chip to be selected'.",
+ "notes": "Unknown"
+ },
+ "MatChipList chip list with chip input should update the form value when the view changes": {
+ "error": "Error: Expected null to equal [ 'steak-0' ].",
+ "notes": "Unknown"
+ },
+ "MatChipList chip list with chip input should clear the selection when a nonexistent option value is selected": {
+ "error": "Error: Expected false to be truthy 'Expected chip with the value to be selected.'.",
+ "notes": "Unknown"
+ },
+ "MatChipList chip list with chip input should set the control to dirty when the chip list's value changes in the DOM": {
+ "error": "Error: Expected false to equal true.",
+ "notes": "Unknown"
+ },
+ "MatChipList chip list with chip input should set aria-invalid if the form field is invalid": {
+ "error": "Error: Expected 'true' to be 'false'.",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should default to the first step": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should throw when a negative `selectedIndex` is assigned": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should throw when an out-of-bounds `selectedIndex` is assigned": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should change selected index on header click": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set the \"tablist\" role on stepper": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set aria-expanded of content correctly": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should display the correct label": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should go to next available step when the next button is clicked": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set the next stepper button type to \"submit\"": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should go to previous available step when the previous button is clicked": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set the previous stepper button type to \"button\"": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set the correct step position for animation": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should not set focus on header of selected step if header is not clicked": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should focus next step header if focus is inside the stepper": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should only be able to return to a previous step if it is editable": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set create icon if step is editable and completed": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set done icon if step is not editable and is completed": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should emit an event when the enter animation is done": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should set the correct aria-posinset and aria-setsize": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should adjust the index when removing a step before the current one": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should not do anything when pressing the ENTER key with a modifier": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper should not do anything when pressing the SPACE key with a modifier": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper when attempting to set the selected step too early should not throw": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper basic stepper with i18n label change should re-render when the i18n labels change": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper icon overrides should allow for the `edit` icon to be overridden": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper icon overrides should allow for the `done` icon to be overridden": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper icon overrides should allow for the `number` icon to be overridden with context": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper RTL should reverse animation in RTL mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should have true linear attribute": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should not move to next step if current step is invalid": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should not move to next step if current step is pending": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should be able to focus step header upon click if it is unable to be selected": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should be able to move to next step even when invalid if current step is optional": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should be able to reset the stepper to its initial state": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should reset back to the first step when some of the steps are not editable": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper should not clobber the `complete` binding when resetting": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper with a pre-defined selectedIndex should not throw": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper with no `stepControl` should not move to the next step if the current one is not completed ": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper with `stepControl` should have the `stepControl` take precedence when `completed` is set": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper vertical stepper should set the aria-orientation to \"vertical\"": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper vertical stepper should support using the left/right arrows to move focus": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper vertical stepper should support using the up/down arrows to move focus": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper vertical stepper should reverse arrow key focus in RTL mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper horizontal stepper should set the aria-orientation to \"horizontal\"": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper horizontal stepper should support using the left/right arrows to move focus": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper horizontal stepper should reverse arrow key focus in RTL mode": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper horizontal stepper should reverse arrow key focus when switching into RTL after init": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper with valid step must be visited if not optional": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper linear stepper with valid step can be skipped entirely if optional": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper aria labelling should not set aria-label or aria-labelledby attributes if they are not passed in": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper aria labelling should set the aria-label attribute": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper aria labelling should set the aria-labelledby attribute": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper aria labelling should not be able to set both an aria-label and aria-labelledby": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper stepper with error state should show error state": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper stepper with error state should respect a custom falsy hasError value": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper stepper using Material UI Guideline logic should show done state when step is completed and its not the current step": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatStepper stepper using Material UI Guideline logic should show edit state when step is editable and its the current step": {
+ "error": "Error: StaticInjectorError(Platform: core)[MatStepper]: ",
+ "notes": "Unknown"
+ },
+ "MatSlideToggle without forms custom action configuration should not change value on click when click action is noop": {
+ "error": "TypeError: Cannot read property 'nativeElement' of undefined",
+ "notes": "Unknown"
+ },
+ "MatSlideToggle without forms custom action configuration should not change value on dragging when drag action is noop": {
+ "error": "Error: Expected mat-slide-toggle-thumb-container to contain 'mat-dragging'.",
+ "notes": "Unknown"
+ },
+ "MatSlider slider with set min and max should adjust fill and ticks on mouse enter when min changes": {
+ "error": "Error: Expected '0% 2px' to be '75% 2px'.",
+ "notes": "Unknown"
+ },
+ "MatSlider slider with set min and max should adjust fill and ticks on mouse enter when max changes": {
+ "error": "Error: Expected '0% 2px' to be '50% 2px'.",
+ "notes": "Unknown"
+ },
+ "MatSlider slider with auto ticks should set the correct tick separation on mouse enter": {
+ "error": "Error: Expected '0% 2px' to be '30% 2px'.",
+ "notes": "Unknown"
+ },
+ "MatSlider slider with set tick interval should set the correct tick separation on mouse enter": {
+ "error": "Error: Expected '0% 2px' to be '18% 2px'.",
+ "notes": "Unknown"
+ },
+ "MatButtonToggle without forms as standalone should have correct aria-pressed attribute": {
+ "error": "Error: Expected 'false' to be 'true'.",
+ "notes": "Unknown"
+ },
+ "MatDrawer methods should be able to open": {
+ "error": "Error: Expected 0 to be 1.",
+ "notes": "Unknown"
+ },
+ "MatDrawer methods should be able to close": {
+ "error": "Error: Expected 0 to be 1.",
+ "notes": "Unknown"
+ },
+ "MatDrawer methods should be able to close while the open animation is running": {
+ "error": "Error: Expected 0 to be 1.",
+ "notes": "Unknown"
+ },
+ "MatDrawer methods should close when pressing escape": {
+ "error": "Error: Expected 0 to be 1, 'Expected one open event.'.",
+ "notes": "Unknown"
+ },
+ "MatDrawer methods should fire the open event when open on init": {
+ "error": "Error: Expected spy open callback to have been called once. It was called 0 times.",
+ "notes": "Unknown"
+ },
+ "MatDrawer methods should restore focus on close if focus is inside drawer": {
+ "error": "Error: Expected to be