From 0e0cac8ce0fff920e7f423f8846146c2887ebe11 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 16 Apr 2015 14:41:33 -0700 Subject: [PATCH] Adding test --- .../unionTypePropertyAccessibility.errors.txt | 87 +++++++++++++++ .../unionTypePropertyAccessibility.js | 101 ++++++++++++++++++ .../union/unionTypePropertyAccessibility.ts | 47 ++++++++ 3 files changed, 235 insertions(+) create mode 100644 tests/baselines/reference/unionTypePropertyAccessibility.errors.txt create mode 100644 tests/baselines/reference/unionTypePropertyAccessibility.js create mode 100644 tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt new file mode 100644 index 00000000000..ab60674ddc6 --- /dev/null +++ b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt @@ -0,0 +1,87 @@ +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(35,1): error TS2445: Property 'member' is protected and only accessible within class 'Protected' and its subclasses. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(36,1): error TS2341: Property 'member' is private and only accessible within class 'Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(38,4): error TS2339: Property 'member' does not exist on type 'Default | Protected'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(39,4): error TS2339: Property 'member' does not exist on type 'Default | Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(40,4): error TS2339: Property 'member' does not exist on type 'Public | Protected'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(41,4): error TS2339: Property 'member' does not exist on type 'Public | Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(42,5): error TS2339: Property 'member' does not exist on type 'Protected | Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(43,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Protected'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(44,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(45,5): error TS2339: Property 'member' does not exist on type 'Default | Protected | Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(46,5): error TS2339: Property 'member' does not exist on type 'Public | Protected | Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(47,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Protected | Private'. + + +==== tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts (12 errors) ==== + class Default { + member: string; + } + + class Public { + public member: string; + } + + class Protected { + protected member: string; + } + + class Private { + private member: number; + } + + var v1: Default; + var v2: Public; + var v3: Protected; + var v4: Private; + var v5: Default | Public; + var v6: Default | Protected; + var v7: Default | Private; + var v8: Public | Protected; + var v9: Public | Private; + var v10: Protected | Private; + var v11: Default | Public | Protected; + var v12: Default | Public | Private; + var v13: Default | Protected | Private; + var v14: Public | Private | Protected; + var v15: Default | Public | Private | Protected; + + v1.member; + v2.member; + v3.member; + ~~~~~~~~~ +!!! error TS2445: Property 'member' is protected and only accessible within class 'Protected' and its subclasses. + v4.member; + ~~~~~~~~~ +!!! error TS2341: Property 'member' is private and only accessible within class 'Private'. + v5.member; + v6.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Default | Protected'. + v7.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Default | Private'. + v8.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Public | Protected'. + v9.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Public | Private'. + v10.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Protected | Private'. + v11.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Protected'. + v12.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Private'. + v13.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Default | Protected | Private'. + v14.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Public | Protected | Private'. + v15.member; + ~~~~~~ +!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Protected | Private'. + \ No newline at end of file diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.js b/tests/baselines/reference/unionTypePropertyAccessibility.js new file mode 100644 index 00000000000..3c5c4b42fee --- /dev/null +++ b/tests/baselines/reference/unionTypePropertyAccessibility.js @@ -0,0 +1,101 @@ +//// [unionTypePropertyAccessibility.ts] +class Default { + member: string; +} + +class Public { + public member: string; +} + +class Protected { + protected member: string; +} + +class Private { + private member: number; +} + +var v1: Default; +var v2: Public; +var v3: Protected; +var v4: Private; +var v5: Default | Public; +var v6: Default | Protected; +var v7: Default | Private; +var v8: Public | Protected; +var v9: Public | Private; +var v10: Protected | Private; +var v11: Default | Public | Protected; +var v12: Default | Public | Private; +var v13: Default | Protected | Private; +var v14: Public | Private | Protected; +var v15: Default | Public | Private | Protected; + +v1.member; +v2.member; +v3.member; +v4.member; +v5.member; +v6.member; +v7.member; +v8.member; +v9.member; +v10.member; +v11.member; +v12.member; +v13.member; +v14.member; +v15.member; + + +//// [unionTypePropertyAccessibility.js] +var Default = (function () { + function Default() { + } + return Default; +})(); +var Public = (function () { + function Public() { + } + return Public; +})(); +var Protected = (function () { + function Protected() { + } + return Protected; +})(); +var Private = (function () { + function Private() { + } + return Private; +})(); +var v1; +var v2; +var v3; +var v4; +var v5; +var v6; +var v7; +var v8; +var v9; +var v10; +var v11; +var v12; +var v13; +var v14; +var v15; +v1.member; +v2.member; +v3.member; +v4.member; +v5.member; +v6.member; +v7.member; +v8.member; +v9.member; +v10.member; +v11.member; +v12.member; +v13.member; +v14.member; +v15.member; diff --git a/tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts b/tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts new file mode 100644 index 00000000000..531ffe96e83 --- /dev/null +++ b/tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts @@ -0,0 +1,47 @@ +class Default { + member: string; +} + +class Public { + public member: string; +} + +class Protected { + protected member: string; +} + +class Private { + private member: number; +} + +var v1: Default; +var v2: Public; +var v3: Protected; +var v4: Private; +var v5: Default | Public; +var v6: Default | Protected; +var v7: Default | Private; +var v8: Public | Protected; +var v9: Public | Private; +var v10: Protected | Private; +var v11: Default | Public | Protected; +var v12: Default | Public | Private; +var v13: Default | Protected | Private; +var v14: Public | Private | Protected; +var v15: Default | Public | Private | Protected; + +v1.member; +v2.member; +v3.member; +v4.member; +v5.member; +v6.member; +v7.member; +v8.member; +v9.member; +v10.member; +v11.member; +v12.member; +v13.member; +v14.member; +v15.member;