Fixes #471. Change an expected result to Ok and add another test to check that correct extension is exported
diff --git a/LanguageFeatures/Extension-methods/syntax_scope_t03.dart b/LanguageFeatures/Extension-methods/syntax_scope_t03.dart
index 885ec68..0878da6 100644
--- a/LanguageFeatures/Extension-methods/syntax_scope_t03.dart
+++ b/LanguageFeatures/Extension-methods/syntax_scope_t03.dart
@@ -19,9 +19,9 @@
  * platform libraries). Extension members with private names are simply
  * inaccessible in other libraries.
  *
- * @description Check that It is a compile-time error to export two
- * declarations, including extensions, with the same name
- * @compile-error
+ * @description Check that it is not a compile-time error to export two
+ * declarations, including extensions, with the same name, if one of them
+ * (library one) is hidden by other (declared in the current scope)
  * @author sgrekhov@unipro.ru
  */
 // SharedOptions=--enable-experiment=extension-methods
diff --git a/LanguageFeatures/Extension-methods/syntax_scope_t05.dart b/LanguageFeatures/Extension-methods/syntax_scope_t05.dart
new file mode 100644
index 0000000..ce89741
--- /dev/null
+++ b/LanguageFeatures/Extension-methods/syntax_scope_t05.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion an extension declaration is a top-level declaration with a grammar
+ * similar to:
+ * <extension> ::=
+ *   `extension' <identifier>? <typeParameters>? `on' <type> `?'? `{'
+ *     memberDeclaration*
+ *   `}'
+ * ...
+ * An extension declaration with a non-private name is included in the library's
+ * export scope, and a privately named extension is not. It is a compile-time
+ * error to export two declarations, including extensions, with the same name,
+ * whether they come from declarations in the library itself or from export
+ * declarations (with the usual exception when all but one declaration come from
+ * platform libraries). Extension members with private names are simply
+ * inaccessible in other libraries.
+ *
+ * @description Check that if there are two libraries with the same name, the
+ * one declared in this scope shadows an imported one
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=extension-methods
+import "../../Utils/expect.dart";
+import "syntax_scope_t05_lib.dart";
+
+main() {
+  List<String> list = ["Lily", "was", "here"];
+  Expect.equals(12, list.doubleLength);
+  Expect.equals("I'm an extension that hides another one", list.whoAmI);
+}
diff --git a/LanguageFeatures/Extension-methods/syntax_scope_t05_lib.dart b/LanguageFeatures/Extension-methods/syntax_scope_t05_lib.dart
new file mode 100644
index 0000000..6ae18ff
--- /dev/null
+++ b/LanguageFeatures/Extension-methods/syntax_scope_t05_lib.dart
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion an extension declaration is a top-level declaration with a grammar
+ * similar to:
+ * <extension> ::=
+ *   `extension' <identifier>? <typeParameters>? `on' <type> `?'? `{'
+ *     memberDeclaration*
+ *   `}'
+ * ...
+ * An extension declaration with a non-private name is included in the library's
+ * export scope, and a privately named extension is not. It is a compile-time
+ * error to export two declarations, including extensions, with the same name,
+ * whether they come from declarations in the library itself or from export
+ * declarations (with the usual exception when all but one declaration come from
+ * platform libraries). Extension members with private names are simply
+ * inaccessible in other libraries.
+ *
+ * @description Check that it is not a compile-time error to export two
+ * declarations, including extensions, with the same name, if one of them
+ * (library one) is hidden by other (declared in the current scope)
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=extension-methods
+library syntax_scope_lib;
+import "my_fancy_list_lib.dart";
+export "my_fancy_list_lib.dart";
+
+extension MyFancyList<T> on List<T> {
+  int get doubleLength => this.length * 4;
+  String get whoAmI => "I'm an extension that hides another one";
+}
+
diff --git a/LanguageFeatures/Extension-methods/syntax_scope_t06.dart b/LanguageFeatures/Extension-methods/syntax_scope_t06.dart
new file mode 100644
index 0000000..f863765
--- /dev/null
+++ b/LanguageFeatures/Extension-methods/syntax_scope_t06.dart
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion an extension declaration is a top-level declaration with a grammar
+ * similar to:
+ * <extension> ::=
+ *   `extension' <identifier>? <typeParameters>? `on' <type> `?'? `{'
+ *     memberDeclaration*
+ *   `}'
+ * ...
+ * An extension declaration with a non-private name is included in the library's
+ * export scope, and a privately named extension is not. It is a compile-time
+ * error to export two declarations, including extensions, with the same name,
+ * whether they come from declarations in the library itself or from export
+ * declarations (with the usual exception when all but one declaration come from
+ * platform libraries). Extension members with private names are simply
+ * inaccessible in other libraries.
+ *
+ * @description Check that if there are two libraries with the same name, the
+ * one declared in this scope shadows an imported one
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=extension-methods
+import "../../Utils/expect.dart";
+import "syntax_scope_t05_lib.dart";
+
+main() {
+  List<String> list = ["Lily", "was", "here"];
+  list.split(1);              //# 01: compile-time error
+  MyFancyList.className;      //# 02: compile-time error
+}