mirror of
https://github.com/enso-org/enso.git
synced 2025-01-03 17:14:33 +03:00
Import modules' extension methods only with unqualified import statements (#3906)
# Important Notes Note that one cannot ``` import Standard.Table as Table_Module ``` because of the 2-component name restriction that gets desugared to `Standard.Table.Main` and we have to write ``` import Standard.Table.Main as Table_Module ``` in a few places. Once we move `Json.to_table` extension this can be improved.
This commit is contained in:
parent
030dbe4973
commit
06bd69436b
@ -456,6 +456,7 @@
|
|||||||
- [Add the `Self` keyword referring to current type][3844]
|
- [Add the `Self` keyword referring to current type][3844]
|
||||||
- [Support VCS for projects in Language Server][3851]
|
- [Support VCS for projects in Language Server][3851]
|
||||||
- [Support multiple exports of the same module][3897]
|
- [Support multiple exports of the same module][3897]
|
||||||
|
- [Import modules' extension methods only with unqualified imports][3906]
|
||||||
- [Don't export polyglot symbols][3915]
|
- [Don't export polyglot symbols][3915]
|
||||||
- [From/all import must not include module in name resolution][3931]
|
- [From/all import must not include module in name resolution][3931]
|
||||||
|
|
||||||
@ -526,6 +527,7 @@
|
|||||||
[3844]: https://github.com/enso-org/enso/pull/3844
|
[3844]: https://github.com/enso-org/enso/pull/3844
|
||||||
[3851]: https://github.com/enso-org/enso/pull/3851
|
[3851]: https://github.com/enso-org/enso/pull/3851
|
||||||
[3897]: https://github.com/enso-org/enso/pull/3897
|
[3897]: https://github.com/enso-org/enso/pull/3897
|
||||||
|
[3906]: https://github.com/enso-org/enso/pull/3906
|
||||||
[3915]: https://github.com/enso-org/enso/pull/3915
|
[3915]: https://github.com/enso-org/enso/pull/3915
|
||||||
[3931]: https://github.com/enso-org/enso/pull/3931
|
[3931]: https://github.com/enso-org/enso/pull/3931
|
||||||
|
|
||||||
|
@ -15,8 +15,8 @@ import project.Random
|
|||||||
|
|
||||||
from project.Data.Boolean import Boolean, True, False
|
from project.Data.Boolean import Boolean, True, False
|
||||||
from project.Data.Index_Sub_Range import Index_Sub_Range, take_helper, drop_helper
|
from project.Data.Index_Sub_Range import Index_Sub_Range, take_helper, drop_helper
|
||||||
from project.Data.Json import Json
|
from project.Data.Json import all
|
||||||
from project.Data.Range import Range
|
from project.Data.Range import all
|
||||||
from project.Error.Common import Error, Panic, Index_Out_Of_Bounds_Error, Index_Out_Of_Bounds_Error_Data, No_Such_Method_Error, No_Such_Method_Error_Data, Illegal_Argument_Error_Data, Incomparable_Values_Error, Type_Error_Data, Unsupported_Argument_Types_Data
|
from project.Error.Common import Error, Panic, Index_Out_Of_Bounds_Error, Index_Out_Of_Bounds_Error_Data, No_Such_Method_Error, No_Such_Method_Error_Data, Illegal_Argument_Error_Data, Incomparable_Values_Error, Type_Error_Data, Unsupported_Argument_Types_Data
|
||||||
|
|
||||||
polyglot java import java.lang.IndexOutOfBoundsException
|
polyglot java import java.lang.IndexOutOfBoundsException
|
||||||
|
@ -40,6 +40,7 @@ export project.Excel.Excel_Range.Excel_Range
|
|||||||
export project.Data.Data_Formatter.Data_Formatter
|
export project.Data.Data_Formatter.Data_Formatter
|
||||||
|
|
||||||
from Standard.Geo.Geo_Json import Object_Type
|
from Standard.Geo.Geo_Json import Object_Type
|
||||||
|
import Standard.Geo.Geo_Json
|
||||||
|
|
||||||
## ALIAS To Table
|
## ALIAS To Table
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.WeakHashMap;
|
import java.util.WeakHashMap;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.enso.compiler.ModuleCache;
|
import org.enso.compiler.ModuleCache;
|
||||||
import org.enso.compiler.context.SimpleUpdate;
|
import org.enso.compiler.context.SimpleUpdate;
|
||||||
import org.enso.compiler.core.IR;
|
import org.enso.compiler.core.IR;
|
||||||
@ -434,6 +435,20 @@ public final class Module implements TruffleObject {
|
|||||||
return scope;
|
return scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the runtime scope of this module that filters out only the requested types. If the list
|
||||||
|
* of requested types is empty, returns the unchanged runtime scope.
|
||||||
|
*
|
||||||
|
* @param types a list of types to include in the scope
|
||||||
|
*/
|
||||||
|
public ModuleScope getScope(List<String> types) {
|
||||||
|
if (types.isEmpty()) {
|
||||||
|
return scope;
|
||||||
|
} else {
|
||||||
|
return scope.withTypes(types);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** @return the qualified name of this module. */
|
/** @return the qualified name of this module. */
|
||||||
public QualifiedName getName() {
|
public QualifiedName getName() {
|
||||||
return name;
|
return name;
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
package org.enso.interpreter.runtime.scope;
|
package org.enso.interpreter.runtime.scope;
|
||||||
|
|
||||||
import com.oracle.truffle.api.CompilerDirectives;
|
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
|
||||||
|
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import com.oracle.truffle.api.interop.TruffleObject;
|
import com.oracle.truffle.api.interop.TruffleObject;
|
||||||
import org.enso.interpreter.runtime.EnsoContext;
|
import org.enso.interpreter.runtime.EnsoContext;
|
||||||
import org.enso.interpreter.runtime.Module;
|
import org.enso.interpreter.runtime.Module;
|
||||||
@ -12,16 +10,25 @@ import org.enso.interpreter.runtime.data.Type;
|
|||||||
import org.enso.interpreter.runtime.error.RedefinedMethodException;
|
import org.enso.interpreter.runtime.error.RedefinedMethodException;
|
||||||
import org.enso.interpreter.runtime.error.RedefinedConversionException;
|
import org.enso.interpreter.runtime.error.RedefinedConversionException;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/** A representation of Enso's per-file top-level scope. */
|
/** A representation of Enso's per-file top-level scope. */
|
||||||
public final class ModuleScope implements TruffleObject {
|
public final class ModuleScope implements TruffleObject {
|
||||||
private final Type associatedType;
|
private final Type associatedType;
|
||||||
private final Module module;
|
private final Module module;
|
||||||
private Map<String, Object> polyglotSymbols = new HashMap<>();
|
private Map<String, Object> polyglotSymbols;
|
||||||
private Map<String, Type> types = new HashMap<>();
|
private Map<String, Type> types;
|
||||||
private Map<Type, Map<String, Function>> methods = new HashMap<>();
|
private Map<Type, Map<String, Function>> methods;
|
||||||
private Map<Type, Map<Type, Function>> conversions = new HashMap<>();
|
private Map<Type, Map<Type, Function>> conversions;
|
||||||
private Set<ModuleScope> imports = new HashSet<>();
|
private Set<ModuleScope> imports;
|
||||||
private Set<ModuleScope> exports = new HashSet<>();
|
private Set<ModuleScope> exports;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new object of this class.
|
* Creates a new object of this class.
|
||||||
@ -30,6 +37,12 @@ public final class ModuleScope implements TruffleObject {
|
|||||||
* @param context the current langauge context
|
* @param context the current langauge context
|
||||||
*/
|
*/
|
||||||
public ModuleScope(Module module, EnsoContext context) {
|
public ModuleScope(Module module, EnsoContext context) {
|
||||||
|
this.polyglotSymbols = new HashMap<>();
|
||||||
|
this.types = new HashMap<>();
|
||||||
|
this.methods = new HashMap<>();
|
||||||
|
this.conversions = new HashMap<>();
|
||||||
|
this.imports = new HashSet<>();
|
||||||
|
this.exports = new HashSet<>();
|
||||||
this.module = module;
|
this.module = module;
|
||||||
this.associatedType =
|
this.associatedType =
|
||||||
Type.createSingleton(
|
Type.createSingleton(
|
||||||
@ -39,6 +52,25 @@ public final class ModuleScope implements TruffleObject {
|
|||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ModuleScope(
|
||||||
|
Module module,
|
||||||
|
Type associatedType,
|
||||||
|
Map<String, Object> polyglotSymbols,
|
||||||
|
Map<String, Type> types,
|
||||||
|
Map<Type, Map<String, Function>> methods,
|
||||||
|
Map<Type, Map<Type, Function>> conversions,
|
||||||
|
Set<ModuleScope> imports,
|
||||||
|
Set<ModuleScope> exports) {
|
||||||
|
this.module = module;
|
||||||
|
this.associatedType = associatedType;
|
||||||
|
this.polyglotSymbols = polyglotSymbols;
|
||||||
|
this.types = types;
|
||||||
|
this.methods = methods;
|
||||||
|
this.conversions = conversions;
|
||||||
|
this.imports = imports;
|
||||||
|
this.exports = exports;
|
||||||
|
}
|
||||||
|
|
||||||
public void registerType(Type type) {
|
public void registerType(Type type) {
|
||||||
types.put(type.getName(), type);
|
types.put(type.getName(), type);
|
||||||
}
|
}
|
||||||
@ -150,7 +182,7 @@ public final class ModuleScope implements TruffleObject {
|
|||||||
* @param name the method name.
|
* @param name the method name.
|
||||||
* @return the matching method definition or null if not found.
|
* @return the matching method definition or null if not found.
|
||||||
*/
|
*/
|
||||||
@CompilerDirectives.TruffleBoundary
|
@TruffleBoundary
|
||||||
public Function lookupMethodDefinition(Type type, String name) {
|
public Function lookupMethodDefinition(Type type, String name) {
|
||||||
Function definedWithAtom = type.getDefinitionScope().getMethodMapFor(type).get(name);
|
Function definedWithAtom = type.getDefinitionScope().getMethodMapFor(type).get(name);
|
||||||
if (definedWithAtom != null) {
|
if (definedWithAtom != null) {
|
||||||
@ -169,7 +201,7 @@ public final class ModuleScope implements TruffleObject {
|
|||||||
.orElse(null);
|
.orElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@CompilerDirectives.TruffleBoundary
|
@TruffleBoundary
|
||||||
public Function lookupConversionDefinition(Type type, Type target) {
|
public Function lookupConversionDefinition(Type type, Type target) {
|
||||||
Function definedWithAtom = type.getDefinitionScope().getConversionsFor(target).get(type);
|
Function definedWithAtom = type.getDefinitionScope().getConversionsFor(target).get(type);
|
||||||
if (definedWithAtom != null) {
|
if (definedWithAtom != null) {
|
||||||
@ -262,4 +294,50 @@ public final class ModuleScope implements TruffleObject {
|
|||||||
conversions = new HashMap<>();
|
conversions = new HashMap<>();
|
||||||
polyglotSymbols = new HashMap<>();
|
polyglotSymbols = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a copy of this `ModuleScope` while taking into account only the provided list of types.
|
||||||
|
*
|
||||||
|
* @param typeNames list of types to copy to the new scope
|
||||||
|
* @return a copy of this scope modulo the requested types
|
||||||
|
*/
|
||||||
|
public ModuleScope withTypes(List<String> typeNames) {
|
||||||
|
Map<String, Object> polyglotSymbols = new HashMap<>(this.polyglotSymbols);
|
||||||
|
Map<String, Type> requestedTypes = new HashMap<>(this.types);
|
||||||
|
Map<Type, Map<String, Function>> methods = new HashMap<>();
|
||||||
|
Map<Type, Map<Type, Function>> conversions = new HashMap<>();
|
||||||
|
Set<ModuleScope> imports = new HashSet<>(this.imports);
|
||||||
|
Set<ModuleScope> exports = new HashSet<>(this.exports);
|
||||||
|
this.types
|
||||||
|
.entrySet()
|
||||||
|
.forEach(
|
||||||
|
entry -> {
|
||||||
|
if (typeNames.contains(entry.getKey())) {
|
||||||
|
requestedTypes.put(entry.getKey(), entry.getValue());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Collection<Type> validTypes = requestedTypes.values();
|
||||||
|
this.methods.forEach(
|
||||||
|
(tpe, meths) -> {
|
||||||
|
if (validTypes.contains(tpe)) {
|
||||||
|
methods.put(tpe, meths);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.conversions.forEach(
|
||||||
|
(tpe, meths) -> {
|
||||||
|
if (validTypes.contains(tpe)) {
|
||||||
|
conversions.put(tpe, meths);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return new ModuleScope(
|
||||||
|
module,
|
||||||
|
associatedType,
|
||||||
|
polyglotSymbols,
|
||||||
|
requestedTypes,
|
||||||
|
methods,
|
||||||
|
conversions,
|
||||||
|
imports,
|
||||||
|
exports);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,6 +84,7 @@ import scala.annotation.tailrec
|
|||||||
import scala.collection.mutable
|
import scala.collection.mutable
|
||||||
import scala.collection.mutable.ArrayBuffer
|
import scala.collection.mutable.ArrayBuffer
|
||||||
import scala.jdk.OptionConverters._
|
import scala.jdk.OptionConverters._
|
||||||
|
import scala.jdk.CollectionConverters._
|
||||||
|
|
||||||
/** This is an implementation of a codegeneration pass that lowers the Enso
|
/** This is an implementation of a codegeneration pass that lowers the Enso
|
||||||
* [[IR]] into the truffle [[org.enso.compiler.core.Core.Node]] structures that
|
* [[IR]] into the truffle [[org.enso.compiler.core.Core.Node]] structures that
|
||||||
@ -178,7 +179,11 @@ class IrToTruffle(
|
|||||||
imp.target match {
|
imp.target match {
|
||||||
case BindingsMap.ResolvedType(_, _) =>
|
case BindingsMap.ResolvedType(_, _) =>
|
||||||
case ResolvedModule(module) =>
|
case ResolvedModule(module) =>
|
||||||
moduleScope.addImport(module.unsafeAsModule().getScope)
|
val mod = module.unsafeAsModule()
|
||||||
|
val scope: ModuleScope = imp.importDef.onlyNames
|
||||||
|
.map(only => mod.getScope(only.map(_.name).asJava))
|
||||||
|
.getOrElse(mod.getScope())
|
||||||
|
moduleScope.addImport(scope)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
name: Test_Extension_Methods_Success
|
||||||
|
license: APLv2
|
||||||
|
enso-version: default
|
||||||
|
version: "0.0.1"
|
||||||
|
author: "Enso Team <contact@enso.org>"
|
||||||
|
maintainer: "Enso Team <contact@enso.org>"
|
@ -0,0 +1,7 @@
|
|||||||
|
from Standard.Base.Data.Numbers import Integer
|
||||||
|
|
||||||
|
type Foo
|
||||||
|
A
|
||||||
|
B
|
||||||
|
|
||||||
|
Integer.foo self a = 1 + a
|
@ -0,0 +1,5 @@
|
|||||||
|
import project.Atom.Foo
|
||||||
|
from project.Atom.Foo import A
|
||||||
|
|
||||||
|
main =
|
||||||
|
1.foo 41
|
@ -0,0 +1,6 @@
|
|||||||
|
name: Test_Extension_Methods_Success_1
|
||||||
|
license: APLv2
|
||||||
|
enso-version: default
|
||||||
|
version: "0.0.1"
|
||||||
|
author: "Enso Team <contact@enso.org>"
|
||||||
|
maintainer: "Enso Team <contact@enso.org>"
|
@ -0,0 +1,7 @@
|
|||||||
|
from Standard.Base.Data.Numbers import Integer
|
||||||
|
|
||||||
|
type Foo
|
||||||
|
A
|
||||||
|
B
|
||||||
|
|
||||||
|
Integer.foo self a = 1 + a
|
@ -0,0 +1,4 @@
|
|||||||
|
import project.Atom
|
||||||
|
|
||||||
|
main =
|
||||||
|
1.foo 41
|
@ -0,0 +1,6 @@
|
|||||||
|
name: Test_Extension_Methods_Success_2
|
||||||
|
license: APLv2
|
||||||
|
enso-version: default
|
||||||
|
version: "0.0.1"
|
||||||
|
author: "Enso Team <contact@enso.org>"
|
||||||
|
maintainer: "Enso Team <contact@enso.org>"
|
@ -0,0 +1,7 @@
|
|||||||
|
from Standard.Base.Data.Numbers import Integer
|
||||||
|
|
||||||
|
type Foo
|
||||||
|
A
|
||||||
|
B
|
||||||
|
|
||||||
|
Integer.foo self a = 1 + a
|
@ -0,0 +1,4 @@
|
|||||||
|
from project.Atom import all
|
||||||
|
|
||||||
|
main =
|
||||||
|
1.foo 41
|
@ -90,6 +90,20 @@ class ImportsTest extends PackageTest {
|
|||||||
outLines(3) shouldEqual "(Mk_C 10)"
|
outLines(3) shouldEqual "(Mk_C 10)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Importing module" should "bring extension methods into the scope " in {
|
||||||
|
evalTestProject("Test_Extension_Methods_Success_1") shouldEqual 42
|
||||||
|
}
|
||||||
|
|
||||||
|
"The unqualified import of a module" should "bring extension methods into the scope " in {
|
||||||
|
evalTestProject("Test_Extension_Methods_Success_2") shouldEqual 42
|
||||||
|
}
|
||||||
|
|
||||||
|
"Importing module's types" should "not bring extension methods into the scope " in {
|
||||||
|
the[InterpreterException] thrownBy evalTestProject(
|
||||||
|
"Test_Extension_Methods_Failure"
|
||||||
|
) should have message "Method `foo` of 1 (Integer) could not be found."
|
||||||
|
}
|
||||||
|
|
||||||
"Compiler" should "detect name conflicts preventing users from importing submodules" in {
|
"Compiler" should "detect name conflicts preventing users from importing submodules" in {
|
||||||
the[InterpreterException] thrownBy evalTestProject(
|
the[InterpreterException] thrownBy evalTestProject(
|
||||||
"TestSubmodulesNameConflict"
|
"TestSubmodulesNameConflict"
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Examples
|
import Standard.Examples
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
# While we're lacking the ability to run the documentation examples
|
# While we're lacking the ability to run the documentation examples
|
||||||
# automatically (#1706), these tests at least check that each of the examples
|
# automatically (#1706), these tests at least check that each of the examples
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Table.Data.Table.Table import Table_Data
|
|||||||
import Standard.Geo
|
import Standard.Geo
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Geo Points" <|
|
Test.group "Geo Points" <|
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Image import Image, Matrix
|
|||||||
import Standard.Image.Data.Matrix_Error.Matrix_Error
|
import Standard.Image.Data.Matrix_Error.Matrix_Error
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Image with 1 channel" <|
|
Test.group "Image with 1 channel" <|
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Image import Matrix
|
|||||||
import Standard.Image.Data.Matrix_Error.Matrix_Error
|
import Standard.Image.Data.Matrix_Error.Matrix_Error
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Matrix_Error" <|
|
Test.group "Matrix_Error" <|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
from Standard.Image import Image, Read_Flag, Write_Flag
|
from Standard.Image import Image, Read_Flag, Write_Flag
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.lang.System as Java_System
|
polyglot java import java.lang.System as Java_System
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ import Standard.Table.Internal.Aggregate_Column_Helper
|
|||||||
import Standard.Table.Internal.Problem_Builder.Problem_Builder
|
import Standard.Table.Internal.Problem_Builder.Problem_Builder
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Aggregate Columns" <|
|
spec = Test.group "Aggregate Columns" <|
|
||||||
simple_table = Table.new [["count", [1, 2, Nothing, 3, Nothing]], ["is_valid", [Nothing, False, True, False, Nothing]], ["float", [3.4, 1, 5.6, 2.1, Nothing]], ["text", ["A", "", Nothing, "B,C", Nothing]]]
|
simple_table = Table.new [["count", [1, 2, Nothing, 3, Nothing]], ["is_valid", [Nothing, False, True, False, Nothing]], ["float", [3.4, 1, 5.6, 2.1, Nothing]], ["text", ["A", "", Nothing, "B,C", Nothing]]]
|
||||||
|
@ -7,6 +7,7 @@ from Standard.Table.Errors import Missing_Input_Columns_Data, Column_Indexes_Out
|
|||||||
from Standard.Database.Errors import Unsupported_Database_Operation_Error_Data
|
from Standard.Database.Errors import Unsupported_Database_Operation_Error_Data
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.lang.Double
|
polyglot java import java.lang.Double
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import Standard.Table.Data.Storage.Storage
|
|||||||
import Standard.Examples
|
import Standard.Examples
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import org.enso.table.data.column.storage.Storage as Java_Storage
|
polyglot java import org.enso.table.data.column.storage.Storage as Java_Storage
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ from Standard.Table.Errors import all
|
|||||||
from Standard.Database.Errors import SQL_Error_Data, Unsupported_Database_Operation_Error_Data
|
from Standard.Database.Errors import SQL_Error_Data, Unsupported_Database_Operation_Error_Data
|
||||||
|
|
||||||
from Standard.Test import Test, Problems
|
from Standard.Test import Test, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Table import Table, Column, Delimited, Column_Selector
|
from Standard.Table import Table, Column, Delimited, Column_Selector
|
||||||
|
import Standard.Table.Main as Table_Module
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Table import Table, Column, Data_Formatter, Quote_Style
|
|||||||
from Standard.Table.Errors import all
|
from Standard.Table.Errors import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type Custom_Type
|
type Custom_Type
|
||||||
Value field
|
Value field
|
||||||
|
@ -11,6 +11,7 @@ from Standard.Database.Data.Table import combine_names, fresh_names
|
|||||||
from Standard.Database.Errors import Unsupported_Database_Operation_Error_Data
|
from Standard.Database.Errors import Unsupported_Database_Operation_Error_Data
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Database.Helpers.Fake_Test_Connection
|
import project.Database.Helpers.Fake_Test_Connection
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ from Standard.Database import all
|
|||||||
from Standard.Database.Errors import Unsupported_Database_Operation_Error_Data
|
from Standard.Database.Errors import Unsupported_Database_Operation_Error_Data
|
||||||
|
|
||||||
from Standard.Test import Test, Problems
|
from Standard.Test import Test, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Database.Helpers.Name_Generator
|
import project.Database.Helpers.Name_Generator
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ import Standard.Database.Data.SQL_Type.SQL_Type
|
|||||||
import Standard.Database.Internal.Postgres.Pgpass
|
import Standard.Database.Internal.Postgres.Pgpass
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
import Standard.Test.Test_Environment
|
import Standard.Test.Test_Environment
|
||||||
|
|
||||||
import project.Database.Common_Spec
|
import project.Database.Common_Spec
|
||||||
|
@ -6,6 +6,7 @@ from Standard.Table import Table
|
|||||||
from Standard.Database import Database, Redshift, AWS_Credential, SQL_Query
|
from Standard.Database import Database, Redshift, AWS_Credential, SQL_Query
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Database.Common_Spec
|
import project.Database.Common_Spec
|
||||||
import project.Database.Helpers.Name_Generator
|
import project.Database.Helpers.Name_Generator
|
||||||
|
@ -7,6 +7,7 @@ from Standard.Database import Database, SQLite, In_Memory, SQL_Query
|
|||||||
from Standard.Database.Errors import SQL_Error_Data
|
from Standard.Database.Errors import SQL_Error_Data
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Database.Common_Spec
|
import project.Database.Common_Spec
|
||||||
import project.Database.Helpers.Name_Generator
|
import project.Database.Helpers.Name_Generator
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Table import Table, Column, Data_Formatter, Quote_Style, Delimited
|
from Standard.Table import Table, Column, Data_Formatter, Quote_Style, Delimited
|
||||||
|
import Standard.Table.Data.Table_Conversions
|
||||||
|
import Standard.Table.Main as Table_Module
|
||||||
from Standard.Table.Errors import all
|
from Standard.Table.Errors import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Util
|
import project.Util
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Table import Table, Column, Data_Formatter, Quote_Style, Column_Na
|
|||||||
from Standard.Table.Errors import all
|
from Standard.Table.Errors import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ from Standard.Table import Table, Match_Columns, Column_Name_Mapping, Excel, Exc
|
|||||||
from Standard.Table.Errors import Invalid_Output_Column_Names_Data, Duplicate_Output_Column_Names_Data, Invalid_Location_Data, Range_Exceeded_Data, Existing_Data_Data, Column_Count_Mismatch_Data, Column_Name_Mismatch_Data
|
from Standard.Table.Errors import Invalid_Output_Column_Names_Data, Duplicate_Output_Column_Names_Data, Invalid_Location_Data, Range_Exceeded_Data, Existing_Data_Data, Column_Count_Mismatch_Data, Column_Name_Mismatch_Data
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import Standard.Examples
|
import Standard.Examples
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import Standard.Table.Data.Expression.Expression_Error
|
|||||||
import Standard.Visualization
|
import Standard.Visualization
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Common_Table_Spec
|
import project.Common_Table_Spec
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
from Standard.Table import Table
|
from Standard.Table import Table
|
||||||
|
import Standard.Table.Main as Table_Module
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Util
|
import project.Util
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ from Standard.Table.Errors import Invalid_Format, Leading_Zeros, Missing_Input_C
|
|||||||
import Standard.Visualization
|
import Standard.Visualization
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Table.parse_values" <|
|
spec = Test.group "Table.parse_values" <|
|
||||||
Test.specify "should correctly parse integers" <|
|
Test.specify "should correctly parse integers" <|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Table import Table, Column, Delimited, Data_Formatter
|
from Standard.Table import Table, Column, Delimited, Data_Formatter
|
||||||
|
import Standard.Table.Data.Table_Conversions
|
||||||
import Standard.Table.Data.Storage.Storage
|
import Standard.Table.Data.Storage.Storage
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Table import Table, Column, Sort_Column, Column_Selector, Sort_Column_Selector, Aggregate_Column
|
from Standard.Table import Table, Column, Sort_Column, Column_Selector, Sort_Column_Selector, Aggregate_Column
|
||||||
|
import Standard.Table.Main as Table_Module
|
||||||
from Standard.Table.Data.Aggregate_Column.Aggregate_Column import all hiding First, Last
|
from Standard.Table.Data.Aggregate_Column.Aggregate_Column import all hiding First, Last
|
||||||
from Standard.Table.Data.Table import Empty_Error
|
from Standard.Table.Data.Table import Empty_Error
|
||||||
from Standard.Table.Data.Storage import Storage
|
from Standard.Table.Data.Storage import Storage
|
||||||
@ -10,6 +11,7 @@ from Standard.Table.Errors import Invalid_Output_Column_Names_Data, Duplicate_Ou
|
|||||||
import Standard.Visualization
|
import Standard.Visualization
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Common_Table_Spec
|
import project.Common_Table_Spec
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Table import Table, Delimited, Column, Data_Formatter
|
|||||||
import Standard.Table.Data.Storage
|
import Standard.Table.Data.Storage
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Table import Table, Delimited, Column, Data_Formatter
|
|||||||
import Standard.Table.Data.Storage
|
import Standard.Table.Data.Storage
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
from project.Util import all
|
from project.Util import all
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Table.Internal.Unique_Name_Strategy.Unique_Name_Strategy
|
import Standard.Table.Internal.Unique_Name_Strategy.Unique_Name_Strategy
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group 'Unique_Name_Strategy Helper' <|
|
spec = Test.group 'Unique_Name_Strategy Helper' <|
|
||||||
Test.specify 'should change an empty name to "Column"' <|
|
Test.specify 'should change an empty name to "Column"' <|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
from Standard.Table import Table, Column
|
from Standard.Table import Table, Column
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
Table.should_equal self expected =
|
Table.should_equal self expected =
|
||||||
self_cols = self.columns
|
self_cols = self.columns
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "JavaScript Objects, Arrays & Functions" <|
|
Test.group "JavaScript Objects, Arrays & Functions" <|
|
||||||
|
@ -2,6 +2,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Data.Array_Proxy import Array_Proxy
|
from Standard.Base.Data.Array_Proxy import Array_Proxy
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type Proxy_Object
|
type Proxy_Object
|
||||||
Value length
|
Value length
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.util.LinkedHashSet
|
polyglot java import java.util.LinkedHashSet
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
Boolean.method self = self
|
Boolean.method self = self
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "identity" <|
|
Test.group "identity" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Bound" <|
|
Test.group "Bound" <|
|
||||||
|
@ -2,6 +2,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Data.Json import Json_Parse_Error, No_Such_Field
|
from Standard.Base.Data.Json import Json_Parse_Error, No_Such_Field
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
import Standard.Test.Test_Result.Test_Result
|
import Standard.Test.Test_Result.Test_Result
|
||||||
|
|
||||||
type Author
|
type Author
|
||||||
|
@ -3,6 +3,7 @@ import Standard.Base.Runtime.State
|
|||||||
from Standard.Base.Data.List import Empty_Error
|
from Standard.Base.Data.List import Empty_Error
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "List" <|
|
spec = Test.group "List" <|
|
||||||
l = List.Cons 1 <| List.Cons 2 <| List.Cons 3 <| List.Nil
|
l = List.Cons 1 <| List.Cons 2 <| List.Cons 3 <| List.Nil
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
polyglot java import java.util.Locale as JavaLocale
|
polyglot java import java.util.Locale as JavaLocale
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
with_locale locale ~test =
|
with_locale locale ~test =
|
||||||
default_locale = JavaLocale.getDefault
|
default_locale = JavaLocale.getDefault
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Data.Map import No_Value_For_Key
|
from Standard.Base.Data.Map import No_Value_For_Key
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Maps" <|
|
spec = Test.group "Maps" <|
|
||||||
m = Map.empty . insert 1 2 . insert 2 4
|
m = Map.empty . insert 1 2 . insert 2 4
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Maybe" <|
|
spec = Test.group "Maybe" <|
|
||||||
Test.specify "should have a None variant" <|
|
Test.specify "should have a None variant" <|
|
||||||
|
@ -5,6 +5,7 @@ import Standard.Base.Data.Noise.Deterministic_Random
|
|||||||
import Standard.Base.Error.Common
|
import Standard.Base.Error.Common
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Generator Interface" <|
|
Test.group "Generator Interface" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type My_Generator
|
type My_Generator
|
||||||
My_Generator.step self _ _ = 1
|
My_Generator.step self _ _ = 1
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Data.Numbers import Number_Parse_Error
|
from Standard.Base.Data.Numbers import Number_Parse_Error
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
Integer.is_even self = self % 2 == 0
|
Integer.is_even self = self % 2 == 0
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import Standard.Base.Data.Ordering.Comparator
|
|||||||
polyglot java import java.lang.ClassCastException
|
polyglot java import java.lang.ClassCastException
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
# === Test Resources ===
|
# === Test Resources ===
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Natural Order" <|
|
spec = Test.group "Natural Order" <|
|
||||||
case_insensitive_compare a b = Natural_Order.compare a b Case_Sensitivity.Insensitive
|
case_insensitive_compare a b = Natural_Order.compare a b Case_Sensitivity.Insensitive
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Data.Ordering.Vector_Lexicographic_Order
|
import Standard.Base.Data.Ordering.Vector_Lexicographic_Order
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type My_Type
|
type My_Type
|
||||||
Value a b
|
Value a b
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
# === Test Resources ===
|
# === Test Resources ===
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.time.LocalDate
|
polyglot java import java.time.LocalDate
|
||||||
polyglot java import java.lang.String
|
polyglot java import java.lang.String
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Runtime.Ref.Ref
|
import Standard.Base.Runtime.Ref.Ref
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Range" <|
|
spec = Test.group "Range" <|
|
||||||
Test.specify "should be created with a start, an end and a step" <|
|
Test.specify "should be created with a start, an end and a step" <|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Runtime.Ref.Ref
|
import Standard.Base.Runtime.Ref.Ref
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Refs" <|
|
spec = Test.group "Refs" <|
|
||||||
Test.specify "should be able to store and retrieve value in references" <|
|
Test.specify "should be able to store and retrieve value in references" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import Nothing, Vector, Number, Decimal, True, Illegal_Argument_Error_Data, False, Regression
|
from Standard.Base import Nothing, Vector, Number, Decimal, True, Illegal_Argument_Error_Data, False, Regression
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
## Regression test data produced using an Excel spreadsheet.
|
## Regression test data produced using an Excel spreadsheet.
|
||||||
|
@ -2,6 +2,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Data.Vector import Empty_Error
|
from Standard.Base.Data.Vector import Empty_Error
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
# === Test Resources ===
|
# === Test Resources ===
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ import Standard.Base.Data.Text.Regex.Option as Global_Option
|
|||||||
polyglot java import java.util.regex.Pattern as Java_Pattern
|
polyglot java import java.util.regex.Pattern as Java_Pattern
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
default_mask = Java_Pattern.CANON_EQ.bit_or Java_Pattern.UNICODE_CASE . bit_or Java_Pattern.UNICODE_CHARACTER_CLASS
|
default_mask = Java_Pattern.CANON_EQ.bit_or Java_Pattern.UNICODE_CASE . bit_or Java_Pattern.UNICODE_CHARACTER_CLASS
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Data.Text.Encoding import all_character_sets, all_encodings, Encoding
|
from Standard.Base.Data.Text.Encoding import all_character_sets, all_encodings, Encoding
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Encoding object" <|
|
Test.group "Encoding object" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite, Problems
|
from Standard.Test import Test, Test_Suite, Problems
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type Foo_Error
|
type Foo_Error
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import Standard.Base.Data.Text.Regex.Option
|
|||||||
import Standard.Base.Data.Text.Regex.Engine.Default as Default_Engine
|
import Standard.Base.Data.Text.Regex.Engine.Default as Default_Engine
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Regex options handling" <|
|
Test.group "Regex options handling" <|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Text.Span" <|
|
spec = Test.group "Text.Span" <|
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Data.Text.Text_Sub_Range import all
|
from Standard.Base.Data.Text.Text_Sub_Range import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Text_Sub_Range_Data" <|
|
spec = Test.group "Text_Sub_Range_Data" <|
|
||||||
Test.specify "should correctly split a text into grapheme cluster ranges expressed in codepoint indices" <|
|
Test.specify "should correctly split a text into grapheme cluster ranges expressed in codepoint indices" <|
|
||||||
|
@ -5,6 +5,7 @@ polyglot java import org.enso.base.text.CaseFoldedString
|
|||||||
polyglot java import com.ibm.icu.text.BreakIterator
|
polyglot java import com.ibm.icu.text.BreakIterator
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Text_Utils" <|
|
Test.group "Text_Utils" <|
|
||||||
|
@ -7,6 +7,7 @@ from Standard.Base.Data.Text.Text_Sub_Range.Text_Sub_Range import all
|
|||||||
from Standard.Base.Data.Index_Sub_Range.Index_Sub_Range import all
|
from Standard.Base.Data.Index_Sub_Range.Index_Sub_Range import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type Auto
|
type Auto
|
||||||
Value a
|
Value a
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec name create_new_date =
|
spec name create_new_date =
|
||||||
Test.group (name + "date part tests") <|
|
Test.group (name + "date part tests") <|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
from Standard.Base.Error.Common import Time_Error
|
from Standard.Base.Error.Common import Time_Error
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Data.Time.Date_Part_Spec
|
import project.Data.Time.Date_Part_Spec
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Data.Time.Date_Part_Spec
|
import project.Data.Time.Date_Part_Spec
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Day_Of_Week conversions" <|
|
Test.group "Day_Of_Week conversions" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.time.Duration as Java_Duration
|
polyglot java import java.time.Duration as Java_Duration
|
||||||
polyglot java import java.time.LocalDate
|
polyglot java import java.time.LocalDate
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Period" <|
|
Test.group "Period" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test_Suite
|
from Standard.Test import Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Data.Time.Duration_Spec
|
import project.Data.Time.Duration_Spec
|
||||||
import project.Data.Time.Period_Spec
|
import project.Data.Time.Period_Spec
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.time.LocalTime
|
polyglot java import java.time.LocalTime
|
||||||
polyglot java import java.time.format.DateTimeFormatter
|
polyglot java import java.time.format.DateTimeFormatter
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.time.ZoneId
|
polyglot java import java.time.ZoneId
|
||||||
polyglot java import java.time.ZoneOffset
|
polyglot java import java.time.ZoneOffset
|
||||||
|
@ -2,6 +2,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Data.Index_Sub_Range
|
import Standard.Base.Data.Index_Sub_Range
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Vector Slicing Helpers" <|
|
spec = Test.group "Vector Slicing Helpers" <|
|
||||||
Test.specify "should be able to sort correctly merge neighboring sequences" <|
|
Test.specify "should be able to sort correctly merge neighboring sequences" <|
|
||||||
|
@ -4,6 +4,7 @@ from Standard.Base.Data.Vector import Empty_Error
|
|||||||
import Standard.Base.Runtime.Ref.Ref
|
import Standard.Base.Runtime.Ref.Ref
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type T
|
type T
|
||||||
Value a b
|
Value a b
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test_Suite
|
from Standard.Test import Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
import project.Semantic.Any_Spec
|
import project.Semantic.Any_Spec
|
||||||
import project.Semantic.Case_Spec
|
import project.Semantic.Case_Spec
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Network.Http.Header
|
import Standard.Base.Network.Http.Header
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Header" <|
|
Test.group "Header" <|
|
||||||
|
@ -8,6 +8,7 @@ import Standard.Base.Network.Http.Request.Body as Request_Body
|
|||||||
import Standard.Base.Network.URI
|
import Standard.Base.Network.URI
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
test_uri = URI.parse "https://httpbin.org/post"
|
test_uri = URI.parse "https://httpbin.org/post"
|
||||||
|
@ -12,6 +12,7 @@ import Standard.Base.Network.Proxy
|
|||||||
import Standard.Base.Network.URI
|
import Standard.Base.Network.URI
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
polyglot java import java.lang.System
|
polyglot java import java.lang.System
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Network.URI
|
import Standard.Base.Network.URI
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "URI" <|
|
Test.group "URI" <|
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Random
|
import Standard.Base.Random
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Random" <|
|
spec = Test.group "Random" <|
|
||||||
Test.specify "should allow to generate random indices" <|
|
Test.specify "should allow to generate random indices" <|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type Generator
|
type Generator
|
||||||
Value h t
|
Value h t
|
||||||
|
@ -2,6 +2,7 @@ from Standard.Base import all
|
|||||||
import Standard.Base.Runtime.Managed_Resource.Managed_Resource
|
import Standard.Base.Runtime.Managed_Resource.Managed_Resource
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Managed_Resource" <|
|
spec = Test.group "Managed_Resource" <|
|
||||||
Test.specify "should call the destructor even if the action fails" <|
|
Test.specify "should call the destructor even if the action fails" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type My_Type
|
type My_Type
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type My_Type
|
type My_Type
|
||||||
Value a
|
Value a
|
||||||
|
@ -12,6 +12,7 @@ polyglot java import java.util.List as JList
|
|||||||
|
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec = Test.group "Pattern Matches" <|
|
spec = Test.group "Pattern Matches" <|
|
||||||
Test.specify "should be able to match on the Boolean type" <|
|
Test.specify "should be able to match on the Boolean type" <|
|
||||||
|
@ -4,6 +4,7 @@ import project.Semantic.Conversion.Methods
|
|||||||
import project.Semantic.Conversion.Types
|
import project.Semantic.Conversion.Types
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
type Foo
|
type Foo
|
||||||
Value foo
|
Value foo
|
||||||
|
@ -3,6 +3,7 @@ from Standard.Base import all
|
|||||||
import project.Semantic.Deep_Export.Internal
|
import project.Semantic.Deep_Export.Internal
|
||||||
|
|
||||||
from Standard.Test import Test
|
from Standard.Test import Test
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
spec =
|
spec =
|
||||||
Test.group "Deep Exports" <|
|
Test.group "Deep Exports" <|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from Standard.Base import all
|
from Standard.Base import all
|
||||||
|
|
||||||
from Standard.Test import Test, Test_Suite
|
from Standard.Test import Test, Test_Suite
|
||||||
|
import Standard.Test.Extensions
|
||||||
|
|
||||||
from project.Semantic.Default_Args_Spec.Box import all
|
from project.Semantic.Default_Args_Spec.Box import all
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user