package(default_visibility = ["//visibility:public"]) load("@build_bazel_rules_nodejs//:defs.bzl", "node_modules_filegroup") load("//tools:defaults.bzl", "karma_web_test") exports_files([ "tsconfig.json", "LICENSE", "protractor-perf.conf.js", "karma-js.conf.js", "browser-providers.conf.js", ]) filegroup( name = "web_test_bootstrap_scripts", # do not sort srcs = [ "@ngdeps//node_modules/core-js:client/core.js", "@ngdeps//node_modules/zone.js:dist/zone.js", "@ngdeps//node_modules/zone.js:dist/zone-testing.js", "@ngdeps//node_modules/zone.js:dist/task-tracking.js", "//:test-events.js", "//:shims_for_IE.js", # Including systemjs because it defines `__eval`, which produces correct stack traces. "@ngdeps//node_modules/systemjs:dist/system.src.js", "@ngdeps//node_modules/reflect-metadata:Reflect.js", ], ) filegroup( name = "angularjs_scripts", srcs = [ # We also declare the unminfied AngularJS files since these can be used for # local debugging (e.g. see: packages/upgrade/test/common/test_helpers.ts) "@ngdeps//node_modules/angular:angular.js", "@ngdeps//node_modules/angular:angular.min.js", "@ngdeps//node_modules/angular-1.5:angular.js", "@ngdeps//node_modules/angular-1.5:angular.min.js", "@ngdeps//node_modules/angular-1.6:angular.js", "@ngdeps//node_modules/angular-1.6:angular.min.js", "@ngdeps//node_modules/angular-mocks:angular-mocks.js", "@ngdeps//node_modules/angular-mocks-1.5:angular-mocks.js", "@ngdeps//node_modules/angular-mocks-1.6:angular-mocks.js", ], ) load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary") # A nodejs_binary for @angular/bazel/ngc-wrapped to use by default in # ng_module that depends on @npm//@angular/bazel instead of the # output of the //packages/bazel/src/ngc-wrapped ts_library rule. This # default is for downstream users that depend on the @angular/bazel npm # package. The generated @npm//@angular/bazel/ngc-wrapped target # does not work because it does not have the node `--expose-gc` flag # set which is required to support the call to `global.gc()`. nodejs_binary( name = "@angular/bazel/ngc-wrapped", configuration_env_vars = ["compile"], data = ["@npm//@angular/bazel"], entry_point = "@angular/bazel/src/ngc-wrapped/index.js", install_source_map_support = False, templated_args = ["--node_options=--expose-gc"], ) # To run a karma_web_test target locally on SauceLabs: # 1) have SAUCE_USERNAME, SAUCE_ACCESS_KEY (and optionally a SAUCE_TUNNEL_IDENTIFIER) set in your environment # 2) open a sauce connection with `./scripts/saucelabs/start-tunnel.sh` # NOTE: start-tunnel.sh uses `node_modules/sauce-connect` which is current linux specific: # "sauce-connect": "https://saucelabs.com/downloads/sc-4.5.3-linux.tar.gz". # On OSX or Windows you'll need to use the appropriate sauce-connect binary. # 3) run target with `yarn bazel test --config=saucelabs ` # NOTE: --config=saucelabs is required as it makes the SAUCE_XXX environment variables available to # the action. See /.bazelrc. karma_web_test( name = "test_web_all", tags = [ "local", "manual", "saucelabs", ], deps = [ # We combine all tests into a single karma_web_test target # as running them as seperate targets in parallel leads to too many # browsers being acquired at once in SauceLabs and the tests flake out # TODO: this is an example subset of tests below, add all remaining angular tests "//packages/common/http/test:test_lib", "//packages/common/http/testing/test:test_lib", "//packages/common/test:test_lib", "//packages/core/test:test_lib", "//packages/forms/test:test_lib", "//packages/http/test:test_lib", # "//packages/router/test:test_lib", # //packages/router/test:test_lib fails with: # IE 11.0.0 (Windows 8.1.0.0) bootstrap should restore the scrolling position FAILED # Expected undefined to equal 5000. # at stack (eval code:2338:11) # at buildExpectationResult (eval code:2305:5) # at expectationResultFactory (eval code:858:11) # at Spec.prototype.addExpectationResult (eval code:487:5) # at addExpectationResult (eval code:802:9) # at Anonymous function (eval code:2252:7) # at Anonymous function (eval code:339:25) # at step (eval code:133:17) # at Anonymous function (eval code:114:50) # at fulfilled (eval code:104:47) ], )