C# Class IronRuby.Tests.Tests

Show file Open project: jschementi/iron Class Usage Examples

Public Methods

Method Description
AllowedSingletons1 ( ) : void
AllowedSingletons2 ( ) : void
AmbiguousMatch1 ( ) : void
BEGIN1 ( ) : void
BEGIN2 ( ) : void
BlockArity1 ( ) : void
BlockDefinition1 ( ) : void
BlockEmpty ( ) : void
BlockParameterSyntax1 ( ) : void
BlockReturnOptimization1 ( ) : void

Block return propagates thru a single library method with a block without throwing unwinding exception.

BlockReturnOptimization2 ( ) : void

Block return propagates thru multiple library method calls with a block without throwing unwinding exception.

BlockReturnOptimization3 ( ) : void

Block return propagates thru user method calls with a block without throwing unwinding exception.

BlockReturnOptimization4 ( ) : void

An unwinding exception is thrown if any frame is called w/o a block.

BlockReturnOptimization5 ( ) : void

Return propagates thru proc/lambda calls.

BlockReturnOptimization6 ( ) : void

Return propagates thru proc/lambda calls.

BlockReturnOptimization7 ( ) : void

Return propagates thru yield in a block.

Block_ProcParams1 ( ) : void
ClassSingletons1 ( ) : void

Cannot instantiate singleton(class).

ClassVariables1 ( ) : void
ConstantCaching_AutoUpdating1A ( ) : void
ConstantCaching_AutoUpdating1B ( ) : void
ConstantCaching_CrossRuntime1 ( ) : void
ConstantCaching_Qualified1 ( ) : void
ConstantCaching_Qualified2 ( ) : void
ConstantCaching_Qualified_IsDefined1 ( ) : void
ConstantCaching_Qualified_IsDefined2 ( ) : void
ConstantCaching_Unqualified1 ( ) : void
ConstantCaching_Unqualified2 ( ) : void
ConstantCaching_Unqualified3 ( ) : void
ConstantCaching_Unqualified4 ( ) : void

GlobalConstantAccess version needs to be invalidate on inclusion.

ConstantCaching_Unqualified5 ( ) : void

module_eval {} in Ruby 1.9 changes constant lookup chain.

ConstantCaching_Unqualified6 ( ) : void

Update of strong value needs to set the weak value as well (and vice versa).

ConstantCaching_Unqualified7 ( ) : void

Check to see whether we don't unwrap WeakReferences accidentally, preserve object identity and unwrap null correctly.

ConstantCaching_Unqualified_IsDefined1 ( ) : void
ConstantNames ( ) : void
Constants1A ( ) : void
Constants1B ( ) : void
Constants3 ( ) : void

Class/module def makes name of the constant by appending its simple name to the name of the lexically containing class/module.

Constants4 ( ) : void

Top-level class/module definition does look-up in Object and all its mixins.

CrossRuntime1 ( ) : void
CrossRuntime2 ( ) : void
CustomTypeDescriptor1 ( ) : void
CustomTypeDescriptor2 ( ) : void
DefineMethod1 ( ) : void
DefineMethod2 ( ) : void

define_method and class_eval change owner of the method definition.

DummySingletons1 ( ) : void
DummySingletons2 ( ) : void
Encoding_Host2 ( ) : void
EvalBreak1 ( ) : void
EvalBreak2 ( ) : void

Break from a block called via Proc#call.

EvalBreak3 ( ) : void
EvalNext1 ( ) : void
EvalRedo1 ( ) : void
EvalRetry1 ( ) : void

Block needs to set InLoop and InRescue flags on RFC to "false".

EvalRetry2 ( ) : void
EvalReturn1 ( ) : void
EvalReturn2 ( ) : void
EvalReturn3 ( ) : void
EvalReturn4 ( ) : void
File1 ( ) : void
GlobalConstants1 ( ) : void

The default interop constant_missing looks to scope only if called on Object.

HostingDefaultOptions1 ( ) : void
Interactive1 ( ) : void
Interactive2 ( ) : void
InvokeMemberCache1 ( ) : void
LibraryLoader1 ( ) : void
LibraryLoader2 ( ) : void
Load1 ( ) : void
LoadAndGlobalConstants ( ) : void

Global constants defined in loaded code are defined on the anonymous module created by the load.

Loader_Assemblies1 ( ) : void
MainSingleton1 ( ) : void
MainSingleton2 ( ) : void
MethodToProc1 ( ) : void

TODO: 1.9 actually doesn't allow proc.binding

ModuleSingletons1 ( ) : void

Singleton(module)'s super-class is singleton(Module).

MutableString_IndexRegex1 ( ) : void
NamesEncoding1 ( ) : void
NumericLiterals1 ( ) : void
NumericOps1 ( ) : void
ObjectOperations1 ( ) : void
ObjectOperations2 ( ) : void
OverloadResolution_Block1 ( ) : void
OverloadResolution_Numeric1 ( ) : void
OverloadResolution_ParamArrays1 ( ) : void
ParseBigInts1 ( ) : void
ParseIntegers1 ( ) : void
ParseSymbols1 ( ) : void
Parser1 ( ) : void
ProcCallCaching1 ( ) : void
ProcNew1 ( ) : void
ProcNew2 ( ) : void
ProcNew3 ( ) : void
ProcNew4 ( ) : void
ProcPosition1 ( ) : void
ProcSelf1 ( ) : void
ProcYieldCaching1 ( ) : void
Proc_RhsAndBlockArguments1 ( ) : void
PythonInterop1 ( ) : void
PythonInterop2 ( ) : void
PythonInterop3 ( ) : void
PythonInterop4 ( ) : void
PythonInterop5 ( ) : void
PythonInterop_Indexers_Fallback1 ( ) : void
PythonInterop_InvokeMember_Fallback1 ( ) : void

Python falls back if the member is not defined and Ruby then invokes the member with original casing.

PythonInterop_InvokeMember_Fallback2 ( ) : void

Python falls back if the member is not defined and Ruby then invokes the member with original casing.

PythonInterop_NamedIndexers1 ( ) : void

We convert a call to a setter with multiple parameters to a GetMember + SetIndex. This makes indexed properties on foreign meta-objects work.

PythonInterop_Operators_Fallback1 ( ) : void
Regex1 ( ) : void
Regex2 ( ) : void
RegexCondition1 ( ) : void
RegexCondition2 ( ) : void
RegexEscape1 ( ) : void
Require1 ( ) : void
RequireInterop1 ( ) : void
RequireInterop2 ( ) : void
Return1 ( ) : void
Return2 ( ) : void
Return3 ( ) : void
Return4 ( ) : void
Return5 ( ) : void
Return6 ( ) : void
Return7 ( ) : void
Return8 ( ) : void
RubyBlocks0 ( ) : void
RubyBlocks10A ( ) : void

Retry in a block.

RubyBlocks10B ( ) : void

Retry in a block called via Proc#call.

RubyBlocks11 ( ) : void

Return with stack unwinding.

RubyBlocks12 ( ) : void
RubyBlocks13 ( ) : void
RubyBlocks14A ( ) : void

Nested yielding.

RubyBlocks14B ( ) : void

Covers RubyOps.YieldBlockBreak.

RubyBlocks14C ( ) : void

Covers RubyOps.YieldBlockBreak error path.

RubyBlocks15 ( ) : void

Retry for-loop: for-loop should behave like x.each { } method call with a block, that is x is reevaluted on retry.

RubyBlocks16 ( ) : void

Tests optimization of block break from another block. Yield yields to a block that breaks to its proc-converter, which is foo. So the example should retrun 1 from the foo call. Break is propagated thru yields in two ways: 1) returning ReturnReason == Break via BlockParam (fast path) 2) throwing MethodUnwinder exception (slow path) ReturnReason should be propagated by yields as long as the owner of the block that contains the yield is the target frame for the break. That's the case for for-loop blocks in this test.

RubyBlocks17 ( ) : void

Retry is propagated to the 'each' call.

RubyBlocks18 ( ) : void
RubyBlocks2 ( ) : void
RubyBlocks3 ( ) : void
RubyBlocks5 ( ) : void
RubyBlocks6 ( ) : void

Return, yield and retry in a method.

RubyBlocks7 ( ) : void

Break in a block.

RubyBlocks8 ( ) : void

Redo in a block.

RubyBlocks9 ( ) : void

Next in a block.

RubyBlocks_Params1 ( ) : void
RubyBlocks_Params2 ( ) : void
RubyBlocks_Params3 ( ) : void
RubyHosting1A ( ) : void
RubyHosting1B ( ) : void
RubyHosting1C ( ) : void
RubyHosting1D ( ) : void
RubyHosting1E ( ) : void

missing_method on scope forwards to super class if the variable is not defined in scope; unmangled name is used if available and the mangled is not found in the scope.

RubyHosting1F ( ) : void

method_missing on main singleton can be invoked directly.

RubyHosting2 ( ) : void
RubyHosting3 ( ) : void
RubyHosting4 ( ) : void
RubyHosting5 ( ) : void
RubyHosting_DelegateConversions ( ) : void
RubyHosting_Scopes1 ( ) : void
RubyHosting_Scopes2 ( ) : void
RubyHosting_Scopes3 ( ) : void
RubyProcArgConversion1 ( ) : void
RubyProcArgConversion2 ( ) : void
RubyProcArgConversion3 ( ) : void
RubyProcArgConversion4 ( ) : void
RubyProcs1 ( ) : void
RubyProcs2 ( ) : void

Assigning to a block parameter should not affect yield.

Scenario_CaseSplatting1 ( ) : void
Scenario_ClassVariables1 ( ) : void
Scenario_ClassVariables2 ( ) : void
Scenario_ClassVariables_Singletons ( ) : void
Scenario_Globals1 ( ) : void
Scenario_MainSingleton ( ) : void
Scenario_ParserLogging ( ) : void
Scenario_RubyArgSplatting1 ( ) : void
Scenario_RubyArgSplatting2 ( ) : void
Scenario_RubyArgSplatting3 ( ) : void
Scenario_RubyArgSplatting4 ( ) : void

Splat anything that's IList (including arrays and values passed via out parameters).

Scenario_RubyArgSplatting5 ( ) : void
Scenario_RubyArgSplatting6 ( ) : void
Scenario_RubyBlockArgs3 ( ) : void

RHS is list, LHS is not simple, but contains splatting.

Scenario_RubyBlockArgs4A ( ) : void

!L(1,-) && R(0,*), empty array to splat.

Scenario_RubyBlockArgs4B ( ) : void

Anonymous unsplat parameters.

Scenario_RubyBlockArgs5 ( ) : void
Scenario_RubyBlockArgs6 ( ) : void
Scenario_RubyBlockExpressions1 ( ) : void
Scenario_RubyClassVersions1 ( ) : void
Scenario_RubyClassVersions2 ( ) : void
Scenario_RubyClosures1 ( ) : void
Scenario_RubyConsole1 ( ) : void
Scenario_RubyInclusions1 ( ) : void
Scenario_RubyLocals1 ( ) : void
Scenario_RubyMath1 ( ) : void
Scenario_RubyMethodMissing1 ( ) : void
Scenario_RubyMethodMissing2 ( ) : void
Scenario_RubyParams1 ( ) : void
Scenario_RubyParams2 ( ) : void
Scenario_RubyProcCallArgs1 ( ) : void
Scenario_RubyProcCallArgs2A ( ) : void
Scenario_RubyProcCallArgs2B ( ) : void
Scenario_RubyProcCallArgs2C ( ) : void
Scenario_RubyProcCallArgs2D ( ) : void

Tests MRI inconsistency in Yield1 vs YieldNoSplat1 when invoked from Call1.

Scenario_RubyProcYieldArgs1 ( ) : void
Scenario_RubyProcYieldArgs2 ( ) : void
Scenario_RubyProcYieldArgs3 ( ) : void
Scenario_RubyProcYieldArgs4 ( ) : void
Scenario_RubyScopeParsing ( ) : void
Scenario_RubyScopes1 ( ) : void

Tests that class lexical scopes are applied to method definitions.

Scenario_RubyScopes2A ( ) : void

Uninitialized local variables.

Scenario_RubyScopes2B ( ) : void

Uninitialized local variables in closure.

Scenario_RubyScopes3 ( ) : void

Tests that variables defined in module/class locals scope are not visible outside.

Scenario_RubyScopes4 ( ) : void
Scenario_RubyScopes5 ( ) : void
Scenario_RubyScopes6 ( ) : void

Nested module scopes - they don't have DLR tuples and therefore need to be skipped when looking up a storage from closure.

Scenario_RubySingletonConstants1 ( ) : void
Scenario_RubyThreads1 ( ) : void
Scenario_Startup ( ) : void
Scenario_UninitializedVars1 ( ) : void
Scenario_UninitializedVars2 ( ) : void
Scenario_YieldCodeGen ( ) : void
SingletonCaching1 ( ) : void
SingletonCaching2A ( ) : void

IRubyObjects.

SingletonCaching2B ( ) : void

Object.

SingletonCaching2C ( ) : void

CLR types.

SingletonMethodDefinitionOnSingletons1 ( ) : void
Singletons1A ( ) : void

Ruby class.

Singletons1B ( ) : void

Object.

Singletons1C ( ) : void

A subclass of a CLR class.

Singletons1D ( ) : void

A CLR class.

Singletons1_Test ( string className, string inherits ) : void
Singletons2 ( ) : void
Singletons3 ( ) : void
SplattingProtocol1 ( ) : void
Strings0 ( ) : void
Strings1 ( ) : void
Strings2 ( ) : void
Strings3 ( ) : void
Strings4 ( ) : void
Strings5 ( ) : void
Strings6 ( ) : void
Strings7 ( ) : void
Strings8 ( ) : void
Strings9 ( ) : void
StringsPlus ( ) : void
SymbolToProc1 ( ) : void
Symbols1 ( ) : void
Test_Reverse ( byte b, RubyEncoding e, byte expected ) : void
Tests ( Driver driver ) : System
ToSConversion1 ( ) : void

Embedded string does call "to_s" w/o calling "respond_to?" first.

ToSConversion2 ( ) : void
TokenCategorizer2 ( ) : void
TokenizeIdentifiers1 ( ) : void
UnqualifiedConstants1 ( ) : void

Unqualified constant lookup should search in lexical scopes from inner most to the outer most looking into modules for constant declared in those modules and their mixins. It shouldn't look to base classes nor mixins.

UnqualifiedConstants2 ( ) : void

If a constant is not found in the current scope chain, the inner-most module scope's module/class and its ancestors are checked.

Private Methods

Method Description
AssertTokenBigInteger ( string source, int @base ) : IronRuby.Tests.AssertTokenizer
AssertTokens ( string source ) : void
AstLocations1 ( ) : void
B ( string str ) : byte[]
BEGIN3 ( ) : void
CharacterToken1 ( ) : void
CreateParamsArrayMethod ( string name, Type paramTypes, int paramsArrayIndex, int returnValue ) : OverloadInfo
Dir1 ( ) : void
Dir2 ( ) : void
Encoding1 ( ) : void
Encoding2 ( ) : void
Encoding4 ( ) : void
Encoding_Host1 ( ) : void
Encoding_HostHelper ( Encoding encoding, string specialChars, bool shouldSucceed ) : void
File_AppendBytes1 ( ) : void
File_ReadLine1 ( ) : void
File_WriteBytes1 ( ) : void
GetInstanceMethods ( Type type, string name ) : OverloadInfo[]
GetStaticMethods ( Type type, string name ) : OverloadInfo[]
Heredoc1 ( ) : void
Identifiers2 ( ) : void
Inspect1 ( ) : void
Inspect2 ( ) : void
LexicalState1 ( ) : void
MO ( object value ) : DynamicMetaObject
MS ( byte data ) : MutableString
MS ( byte data, RubyEncoding e ) : MutableString
MS ( string data ) : MutableString
MS ( string data, RubyEncoding e ) : MutableString
MutableString_Append ( ) : void
MutableString_Append_Byte ( ) : void
MutableString_Append_Char ( ) : void
MutableString_Bytes1 ( ) : void
MutableString_ChangeEncoding1 ( ) : void
MutableString_Characters1 ( ) : void
MutableString_CompareTo1 ( ) : void
MutableString_CompareTo2 ( ) : void
MutableString_Concatenate ( ) : void
MutableString_Factories ( ) : void
MutableString_GetHashCode ( ) : void
MutableString_Index1 ( ) : void
MutableString_IndexOf1 ( ) : void
MutableString_Insert_Byte ( ) : void
MutableString_Insert_Char ( ) : void
MutableString_IsAscii ( ) : void
MutableString_LastIndexOf1 ( ) : void
MutableString_Length ( ) : void
MutableString_Remove_Byte ( ) : void
MutableString_Remove_Char ( ) : void
MutableString_Reverse ( ) : void
MutableString_StartsWith1 ( ) : void
MutableString_Surrogates1 ( ) : void
MutableString_Surrogates2 ( ) : void
MutableString_SwitchRepr ( ) : void
MutableString_Translate1 ( ) : void
MutableString_ValidEncoding1 ( ) : void
NewAssertTokenizer ( ) : AssertTokenizer
ParserErrors1 ( ) : void
ParserLoggingTest ( ) : void
RegexEncoding1 ( ) : void
RegexEncoding2 ( ) : void
RegexTransform1 ( ) : void
RegexTransform2 ( ) : void
Sjis ( string str ) : byte[]
TestBigInt ( string number, int @base ) : void
TestBigInt ( string number, int @base, int repeat ) : void
TestChars ( MutableString str ) : void
TestChars ( MutableString str, MutableString remaining ) : void
TestChars ( MutableString str, string expected ) : void
TestCorrectPatternTranslation ( string pattern, RubyRegexOptions options, string expected, bool expectedGAnchor ) : void
TestCorrectPatternTranslation ( string pattern, string expected ) : void
TestReadLine ( RubyBufferedStream io, bool preserveEolns, string expected ) : void
Test_Concatenate ( byte b1, RubyEncoding e1, byte b2, RubyEncoding e2, RubyEncoding resultEncoding ) : void
Test_Translate ( byte bself, RubyEncoding eself, byte bfrom, RubyEncoding efrom, byte bto, RubyEncoding eto, byte expected, RubyEncoding expectedEncoding ) : void
TokenCategorizer1 ( ) : void
TokenizeEolns1 ( ) : void
TokenizeEscapes1 ( ) : void
TokenizeEscapes2 ( ) : void
TokenizeGlobalVariables1 ( ) : void
TokenizeInstanceClassVariables1 ( ) : void
TokenizeNumbers1 ( ) : void
TokenizeRegex1 ( ) : void
TokenizeStrings1 ( ) : void
TokenizeStrings2 ( ) : void
UnicodeEscapes1 ( ) : void
Utf8 ( string str ) : byte[]

Method Details

AllowedSingletons1() public method

public AllowedSingletons1 ( ) : void
return void

AllowedSingletons2() public method

public AllowedSingletons2 ( ) : void
return void

AmbiguousMatch1() public method

public AmbiguousMatch1 ( ) : void
return void

BEGIN1() public method

public BEGIN1 ( ) : void
return void

BEGIN2() public method

public BEGIN2 ( ) : void
return void

BlockArity1() public method

public BlockArity1 ( ) : void
return void

BlockDefinition1() public method

public BlockDefinition1 ( ) : void
return void

BlockEmpty() public method

public BlockEmpty ( ) : void
return void

BlockParameterSyntax1() public method

public BlockParameterSyntax1 ( ) : void
return void

BlockReturnOptimization1() public method

Block return propagates thru a single library method with a block without throwing unwinding exception.
public BlockReturnOptimization1 ( ) : void
return void

BlockReturnOptimization2() public method

Block return propagates thru multiple library method calls with a block without throwing unwinding exception.
public BlockReturnOptimization2 ( ) : void
return void

BlockReturnOptimization3() public method

Block return propagates thru user method calls with a block without throwing unwinding exception.
public BlockReturnOptimization3 ( ) : void
return void

BlockReturnOptimization4() public method

An unwinding exception is thrown if any frame is called w/o a block.
public BlockReturnOptimization4 ( ) : void
return void

BlockReturnOptimization5() public method

Return propagates thru proc/lambda calls.
public BlockReturnOptimization5 ( ) : void
return void

BlockReturnOptimization6() public method

Return propagates thru proc/lambda calls.
public BlockReturnOptimization6 ( ) : void
return void

BlockReturnOptimization7() public method

Return propagates thru yield in a block.
public BlockReturnOptimization7 ( ) : void
return void

Block_ProcParams1() public method

public Block_ProcParams1 ( ) : void
return void

ClassSingletons1() public method

Cannot instantiate singleton(class).
public ClassSingletons1 ( ) : void
return void

ClassVariables1() public method

public ClassVariables1 ( ) : void
return void

ConstantCaching_AutoUpdating1A() public method

public ConstantCaching_AutoUpdating1A ( ) : void
return void

ConstantCaching_AutoUpdating1B() public method

public ConstantCaching_AutoUpdating1B ( ) : void
return void

ConstantCaching_CrossRuntime1() public method

public ConstantCaching_CrossRuntime1 ( ) : void
return void

ConstantCaching_Qualified1() public method

public ConstantCaching_Qualified1 ( ) : void
return void

ConstantCaching_Qualified2() public method

public ConstantCaching_Qualified2 ( ) : void
return void

ConstantCaching_Qualified_IsDefined1() public method

public ConstantCaching_Qualified_IsDefined1 ( ) : void
return void

ConstantCaching_Qualified_IsDefined2() public method

public ConstantCaching_Qualified_IsDefined2 ( ) : void
return void

ConstantCaching_Unqualified1() public method

public ConstantCaching_Unqualified1 ( ) : void
return void

ConstantCaching_Unqualified2() public method

public ConstantCaching_Unqualified2 ( ) : void
return void

ConstantCaching_Unqualified3() public method

public ConstantCaching_Unqualified3 ( ) : void
return void

ConstantCaching_Unqualified4() public method

GlobalConstantAccess version needs to be invalidate on inclusion.
public ConstantCaching_Unqualified4 ( ) : void
return void

ConstantCaching_Unqualified5() public method

module_eval {} in Ruby 1.9 changes constant lookup chain.
public ConstantCaching_Unqualified5 ( ) : void
return void

ConstantCaching_Unqualified6() public method

Update of strong value needs to set the weak value as well (and vice versa).
public ConstantCaching_Unqualified6 ( ) : void
return void

ConstantCaching_Unqualified7() public method

Check to see whether we don't unwrap WeakReferences accidentally, preserve object identity and unwrap null correctly.
public ConstantCaching_Unqualified7 ( ) : void
return void

ConstantCaching_Unqualified_IsDefined1() public method

public ConstantCaching_Unqualified_IsDefined1 ( ) : void
return void

ConstantNames() public method

public ConstantNames ( ) : void
return void

Constants1A() public method

public Constants1A ( ) : void
return void

Constants1B() public method

public Constants1B ( ) : void
return void

Constants3() public method

Class/module def makes name of the constant by appending its simple name to the name of the lexically containing class/module.
public Constants3 ( ) : void
return void

Constants4() public method

Top-level class/module definition does look-up in Object and all its mixins.
public Constants4 ( ) : void
return void

CrossRuntime1() public method

public CrossRuntime1 ( ) : void
return void

CrossRuntime2() public method

public CrossRuntime2 ( ) : void
return void

CustomTypeDescriptor1() public method

public CustomTypeDescriptor1 ( ) : void
return void

CustomTypeDescriptor2() public method

public CustomTypeDescriptor2 ( ) : void
return void

DefineMethod1() public method

public DefineMethod1 ( ) : void
return void

DefineMethod2() public method

define_method and class_eval change owner of the method definition.
public DefineMethod2 ( ) : void
return void

DummySingletons1() public method

public DummySingletons1 ( ) : void
return void

DummySingletons2() public method

public DummySingletons2 ( ) : void
return void

Encoding_Host2() public method

public Encoding_Host2 ( ) : void
return void

EvalBreak1() public method

public EvalBreak1 ( ) : void
return void

EvalBreak2() public method

Break from a block called via Proc#call.
public EvalBreak2 ( ) : void
return void

EvalBreak3() public method

public EvalBreak3 ( ) : void
return void

EvalNext1() public method

public EvalNext1 ( ) : void
return void

EvalRedo1() public method

public EvalRedo1 ( ) : void
return void

EvalRetry1() public method

Block needs to set InLoop and InRescue flags on RFC to "false".
public EvalRetry1 ( ) : void
return void

EvalRetry2() public method

public EvalRetry2 ( ) : void
return void

EvalReturn1() public method

public EvalReturn1 ( ) : void
return void

EvalReturn2() public method

public EvalReturn2 ( ) : void
return void

EvalReturn3() public method

public EvalReturn3 ( ) : void
return void

EvalReturn4() public method

public EvalReturn4 ( ) : void
return void

File1() public method

public File1 ( ) : void
return void

GlobalConstants1() public method

The default interop constant_missing looks to scope only if called on Object.
public GlobalConstants1 ( ) : void
return void

HostingDefaultOptions1() public method

public HostingDefaultOptions1 ( ) : void
return void

Interactive1() public method

public Interactive1 ( ) : void
return void

Interactive2() public method

public Interactive2 ( ) : void
return void

InvokeMemberCache1() public method

public InvokeMemberCache1 ( ) : void
return void

LibraryLoader1() public method

public LibraryLoader1 ( ) : void
return void

LibraryLoader2() public method

public LibraryLoader2 ( ) : void
return void

Load1() public method

public Load1 ( ) : void
return void

LoadAndGlobalConstants() public method

Global constants defined in loaded code are defined on the anonymous module created by the load.
public LoadAndGlobalConstants ( ) : void
return void

Loader_Assemblies1() public method

public Loader_Assemblies1 ( ) : void
return void

MainSingleton1() public method

public MainSingleton1 ( ) : void
return void

MainSingleton2() public method

public MainSingleton2 ( ) : void
return void

MethodToProc1() public method

TODO: 1.9 actually doesn't allow proc.binding
public MethodToProc1 ( ) : void
return void

ModuleSingletons1() public method

Singleton(module)'s super-class is singleton(Module).
public ModuleSingletons1 ( ) : void
return void

MutableString_IndexRegex1() public method

public MutableString_IndexRegex1 ( ) : void
return void

NamesEncoding1() public method

public NamesEncoding1 ( ) : void
return void

NumericLiterals1() public method

public NumericLiterals1 ( ) : void
return void

NumericOps1() public method

public NumericOps1 ( ) : void
return void

ObjectOperations1() public method

public ObjectOperations1 ( ) : void
return void

ObjectOperations2() public method

public ObjectOperations2 ( ) : void
return void

OverloadResolution_Block1() public method

public OverloadResolution_Block1 ( ) : void
return void

OverloadResolution_Numeric1() public method

public OverloadResolution_Numeric1 ( ) : void
return void

OverloadResolution_ParamArrays1() public method

public OverloadResolution_ParamArrays1 ( ) : void
return void

ParseBigInts1() public method

public ParseBigInts1 ( ) : void
return void

ParseIntegers1() public method

public ParseIntegers1 ( ) : void
return void

ParseSymbols1() public method

public ParseSymbols1 ( ) : void
return void

Parser1() public method

public Parser1 ( ) : void
return void

ProcCallCaching1() public method

public ProcCallCaching1 ( ) : void
return void

ProcNew1() public method

public ProcNew1 ( ) : void
return void

ProcNew2() public method

public ProcNew2 ( ) : void
return void

ProcNew3() public method

public ProcNew3 ( ) : void
return void

ProcNew4() public method

public ProcNew4 ( ) : void
return void

ProcPosition1() public method

public ProcPosition1 ( ) : void
return void

ProcSelf1() public method

public ProcSelf1 ( ) : void
return void

ProcYieldCaching1() public method

public ProcYieldCaching1 ( ) : void
return void

Proc_RhsAndBlockArguments1() public method

public Proc_RhsAndBlockArguments1 ( ) : void
return void

PythonInterop1() public method

public PythonInterop1 ( ) : void
return void

PythonInterop2() public method

public PythonInterop2 ( ) : void
return void

PythonInterop3() public method

public PythonInterop3 ( ) : void
return void

PythonInterop4() public method

public PythonInterop4 ( ) : void
return void

PythonInterop5() public method

public PythonInterop5 ( ) : void
return void

PythonInterop_Indexers_Fallback1() public method

public PythonInterop_Indexers_Fallback1 ( ) : void
return void

PythonInterop_InvokeMember_Fallback1() public method

Python falls back if the member is not defined and Ruby then invokes the member with original casing.
public PythonInterop_InvokeMember_Fallback1 ( ) : void
return void

PythonInterop_InvokeMember_Fallback2() public method

Python falls back if the member is not defined and Ruby then invokes the member with original casing.
public PythonInterop_InvokeMember_Fallback2 ( ) : void
return void

PythonInterop_NamedIndexers1() public method

We convert a call to a setter with multiple parameters to a GetMember + SetIndex. This makes indexed properties on foreign meta-objects work.
public PythonInterop_NamedIndexers1 ( ) : void
return void

PythonInterop_Operators_Fallback1() public method

public PythonInterop_Operators_Fallback1 ( ) : void
return void

Regex1() public method

public Regex1 ( ) : void
return void

Regex2() public method

public Regex2 ( ) : void
return void

RegexCondition1() public method

public RegexCondition1 ( ) : void
return void

RegexCondition2() public method

public RegexCondition2 ( ) : void
return void

RegexEscape1() public method

public RegexEscape1 ( ) : void
return void

Require1() public method

public Require1 ( ) : void
return void

RequireInterop1() public method

public RequireInterop1 ( ) : void
return void

RequireInterop2() public method

public RequireInterop2 ( ) : void
return void

Return1() public method

public Return1 ( ) : void
return void

Return2() public method

public Return2 ( ) : void
return void

Return3() public method

public Return3 ( ) : void
return void

Return4() public method

public Return4 ( ) : void
return void

Return5() public method

public Return5 ( ) : void
return void

Return6() public method

public Return6 ( ) : void
return void

Return7() public method

public Return7 ( ) : void
return void

Return8() public method

public Return8 ( ) : void
return void

RubyBlocks0() public method

public RubyBlocks0 ( ) : void
return void

RubyBlocks10A() public method

Retry in a block.
public RubyBlocks10A ( ) : void
return void

RubyBlocks10B() public method

Retry in a block called via Proc#call.
public RubyBlocks10B ( ) : void
return void

RubyBlocks11() public method

Return with stack unwinding.
public RubyBlocks11 ( ) : void
return void

RubyBlocks12() public method

public RubyBlocks12 ( ) : void
return void

RubyBlocks13() public method

public RubyBlocks13 ( ) : void
return void

RubyBlocks14A() public method

Nested yielding.
public RubyBlocks14A ( ) : void
return void

RubyBlocks14B() public method

Covers RubyOps.YieldBlockBreak.
public RubyBlocks14B ( ) : void
return void

RubyBlocks14C() public method

Covers RubyOps.YieldBlockBreak error path.
public RubyBlocks14C ( ) : void
return void

RubyBlocks15() public method

Retry for-loop: for-loop should behave like x.each { } method call with a block, that is x is reevaluted on retry.
public RubyBlocks15 ( ) : void
return void

RubyBlocks16() public method

Tests optimization of block break from another block. Yield yields to a block that breaks to its proc-converter, which is foo. So the example should retrun 1 from the foo call. Break is propagated thru yields in two ways: 1) returning ReturnReason == Break via BlockParam (fast path) 2) throwing MethodUnwinder exception (slow path) ReturnReason should be propagated by yields as long as the owner of the block that contains the yield is the target frame for the break. That's the case for for-loop blocks in this test.
public RubyBlocks16 ( ) : void
return void

RubyBlocks17() public method

Retry is propagated to the 'each' call.
public RubyBlocks17 ( ) : void
return void

RubyBlocks18() public method

public RubyBlocks18 ( ) : void
return void

RubyBlocks2() public method

public RubyBlocks2 ( ) : void
return void

RubyBlocks3() public method

public RubyBlocks3 ( ) : void
return void

RubyBlocks5() public method

public RubyBlocks5 ( ) : void
return void

RubyBlocks6() public method

Return, yield and retry in a method.
public RubyBlocks6 ( ) : void
return void

RubyBlocks7() public method

Break in a block.
public RubyBlocks7 ( ) : void
return void

RubyBlocks8() public method

Redo in a block.
public RubyBlocks8 ( ) : void
return void

RubyBlocks9() public method

Next in a block.
public RubyBlocks9 ( ) : void
return void

RubyBlocks_Params1() public method

public RubyBlocks_Params1 ( ) : void
return void

RubyBlocks_Params2() public method

public RubyBlocks_Params2 ( ) : void
return void

RubyBlocks_Params3() public method

public RubyBlocks_Params3 ( ) : void
return void

RubyHosting1A() public method

public RubyHosting1A ( ) : void
return void

RubyHosting1B() public method

public RubyHosting1B ( ) : void
return void

RubyHosting1C() public method

public RubyHosting1C ( ) : void
return void

RubyHosting1D() public method

public RubyHosting1D ( ) : void
return void

RubyHosting1E() public method

missing_method on scope forwards to super class if the variable is not defined in scope; unmangled name is used if available and the mangled is not found in the scope.
public RubyHosting1E ( ) : void
return void

RubyHosting1F() public method

method_missing on main singleton can be invoked directly.
public RubyHosting1F ( ) : void
return void

RubyHosting2() public method

public RubyHosting2 ( ) : void
return void

RubyHosting3() public method

public RubyHosting3 ( ) : void
return void

RubyHosting4() public method

public RubyHosting4 ( ) : void
return void

RubyHosting5() public method

public RubyHosting5 ( ) : void
return void

RubyHosting_DelegateConversions() public method

public RubyHosting_DelegateConversions ( ) : void
return void

RubyHosting_Scopes1() public method

public RubyHosting_Scopes1 ( ) : void
return void

RubyHosting_Scopes2() public method

public RubyHosting_Scopes2 ( ) : void
return void

RubyHosting_Scopes3() public method

public RubyHosting_Scopes3 ( ) : void
return void

RubyProcArgConversion1() public method

public RubyProcArgConversion1 ( ) : void
return void

RubyProcArgConversion2() public method

public RubyProcArgConversion2 ( ) : void
return void

RubyProcArgConversion3() public method

public RubyProcArgConversion3 ( ) : void
return void

RubyProcArgConversion4() public method

public RubyProcArgConversion4 ( ) : void
return void

RubyProcs1() public method

public RubyProcs1 ( ) : void
return void

RubyProcs2() public method

Assigning to a block parameter should not affect yield.
public RubyProcs2 ( ) : void
return void

Scenario_CaseSplatting1() public method

public Scenario_CaseSplatting1 ( ) : void
return void

Scenario_ClassVariables1() public method

public Scenario_ClassVariables1 ( ) : void
return void

Scenario_ClassVariables2() public method

public Scenario_ClassVariables2 ( ) : void
return void

Scenario_ClassVariables_Singletons() public method

public Scenario_ClassVariables_Singletons ( ) : void
return void

Scenario_Globals1() public method

public Scenario_Globals1 ( ) : void
return void

Scenario_MainSingleton() public method

public Scenario_MainSingleton ( ) : void
return void

Scenario_ParserLogging() public method

public Scenario_ParserLogging ( ) : void
return void

Scenario_RubyArgSplatting1() public method

public Scenario_RubyArgSplatting1 ( ) : void
return void

Scenario_RubyArgSplatting2() public method

public Scenario_RubyArgSplatting2 ( ) : void
return void

Scenario_RubyArgSplatting3() public method

public Scenario_RubyArgSplatting3 ( ) : void
return void

Scenario_RubyArgSplatting4() public method

Splat anything that's IList (including arrays and values passed via out parameters).
public Scenario_RubyArgSplatting4 ( ) : void
return void

Scenario_RubyArgSplatting5() public method

public Scenario_RubyArgSplatting5 ( ) : void
return void

Scenario_RubyArgSplatting6() public method

public Scenario_RubyArgSplatting6 ( ) : void
return void

Scenario_RubyBlockArgs3() public method

RHS is list, LHS is not simple, but contains splatting.
public Scenario_RubyBlockArgs3 ( ) : void
return void

Scenario_RubyBlockArgs4A() public method

!L(1,-) && R(0,*), empty array to splat.
public Scenario_RubyBlockArgs4A ( ) : void
return void

Scenario_RubyBlockArgs4B() public method

Anonymous unsplat parameters.
public Scenario_RubyBlockArgs4B ( ) : void
return void

Scenario_RubyBlockArgs5() public method

public Scenario_RubyBlockArgs5 ( ) : void
return void

Scenario_RubyBlockArgs6() public method

public Scenario_RubyBlockArgs6 ( ) : void
return void

Scenario_RubyBlockExpressions1() public method

public Scenario_RubyBlockExpressions1 ( ) : void
return void

Scenario_RubyClassVersions1() public method

public Scenario_RubyClassVersions1 ( ) : void
return void

Scenario_RubyClassVersions2() public method

public Scenario_RubyClassVersions2 ( ) : void
return void

Scenario_RubyClosures1() public method

public Scenario_RubyClosures1 ( ) : void
return void

Scenario_RubyConsole1() public method

public Scenario_RubyConsole1 ( ) : void
return void

Scenario_RubyInclusions1() public method

public Scenario_RubyInclusions1 ( ) : void
return void

Scenario_RubyLocals1() public method

public Scenario_RubyLocals1 ( ) : void
return void

Scenario_RubyMath1() public method

public Scenario_RubyMath1 ( ) : void
return void

Scenario_RubyMethodMissing1() public method

public Scenario_RubyMethodMissing1 ( ) : void
return void

Scenario_RubyMethodMissing2() public method

public Scenario_RubyMethodMissing2 ( ) : void
return void

Scenario_RubyParams1() public method

public Scenario_RubyParams1 ( ) : void
return void

Scenario_RubyParams2() public method

public Scenario_RubyParams2 ( ) : void
return void

Scenario_RubyProcCallArgs1() public method

public Scenario_RubyProcCallArgs1 ( ) : void
return void

Scenario_RubyProcCallArgs2A() public method

public Scenario_RubyProcCallArgs2A ( ) : void
return void

Scenario_RubyProcCallArgs2B() public method

public Scenario_RubyProcCallArgs2B ( ) : void
return void

Scenario_RubyProcCallArgs2C() public method

public Scenario_RubyProcCallArgs2C ( ) : void
return void

Scenario_RubyProcCallArgs2D() public method

Tests MRI inconsistency in Yield1 vs YieldNoSplat1 when invoked from Call1.
public Scenario_RubyProcCallArgs2D ( ) : void
return void

Scenario_RubyProcYieldArgs1() public method

public Scenario_RubyProcYieldArgs1 ( ) : void
return void

Scenario_RubyProcYieldArgs2() public method

public Scenario_RubyProcYieldArgs2 ( ) : void
return void

Scenario_RubyProcYieldArgs3() public method

public Scenario_RubyProcYieldArgs3 ( ) : void
return void

Scenario_RubyProcYieldArgs4() public method

public Scenario_RubyProcYieldArgs4 ( ) : void
return void

Scenario_RubyScopeParsing() public method

public Scenario_RubyScopeParsing ( ) : void
return void

Scenario_RubyScopes1() public method

Tests that class lexical scopes are applied to method definitions.
public Scenario_RubyScopes1 ( ) : void
return void

Scenario_RubyScopes2A() public method

Uninitialized local variables.
public Scenario_RubyScopes2A ( ) : void
return void

Scenario_RubyScopes2B() public method

Uninitialized local variables in closure.
public Scenario_RubyScopes2B ( ) : void
return void

Scenario_RubyScopes3() public method

Tests that variables defined in module/class locals scope are not visible outside.
public Scenario_RubyScopes3 ( ) : void
return void

Scenario_RubyScopes4() public method

public Scenario_RubyScopes4 ( ) : void
return void

Scenario_RubyScopes5() public method

public Scenario_RubyScopes5 ( ) : void
return void

Scenario_RubyScopes6() public method

Nested module scopes - they don't have DLR tuples and therefore need to be skipped when looking up a storage from closure.
public Scenario_RubyScopes6 ( ) : void
return void

Scenario_RubySingletonConstants1() public method

public Scenario_RubySingletonConstants1 ( ) : void
return void

Scenario_RubyThreads1() public method

public Scenario_RubyThreads1 ( ) : void
return void

Scenario_Startup() public method

public Scenario_Startup ( ) : void
return void

Scenario_UninitializedVars1() public method

public Scenario_UninitializedVars1 ( ) : void
return void

Scenario_UninitializedVars2() public method

public Scenario_UninitializedVars2 ( ) : void
return void

Scenario_YieldCodeGen() public method

public Scenario_YieldCodeGen ( ) : void
return void

SingletonCaching1() public method

public SingletonCaching1 ( ) : void
return void

SingletonCaching2A() public method

IRubyObjects.
public SingletonCaching2A ( ) : void
return void

SingletonCaching2B() public method

Object.
public SingletonCaching2B ( ) : void
return void

SingletonCaching2C() public method

CLR types.
public SingletonCaching2C ( ) : void
return void

SingletonMethodDefinitionOnSingletons1() public method

public SingletonMethodDefinitionOnSingletons1 ( ) : void
return void

Singletons1A() public method

Ruby class.
public Singletons1A ( ) : void
return void

Singletons1B() public method

Object.
public Singletons1B ( ) : void
return void

Singletons1C() public method

A subclass of a CLR class.
public Singletons1C ( ) : void
return void

Singletons1D() public method

A CLR class.
public Singletons1D ( ) : void
return void

Singletons1_Test() public method

public Singletons1_Test ( string className, string inherits ) : void
className string
inherits string
return void

Singletons2() public method

public Singletons2 ( ) : void
return void

Singletons3() public method

public Singletons3 ( ) : void
return void

SplattingProtocol1() public method

public SplattingProtocol1 ( ) : void
return void

Strings0() public method

public Strings0 ( ) : void
return void

Strings1() public method

public Strings1 ( ) : void
return void

Strings2() public method

public Strings2 ( ) : void
return void

Strings3() public method

public Strings3 ( ) : void
return void

Strings4() public method

public Strings4 ( ) : void
return void

Strings5() public method

public Strings5 ( ) : void
return void

Strings6() public method

public Strings6 ( ) : void
return void

Strings7() public method

public Strings7 ( ) : void
return void

Strings8() public method

public Strings8 ( ) : void
return void

Strings9() public method

public Strings9 ( ) : void
return void

StringsPlus() public method

public StringsPlus ( ) : void
return void

SymbolToProc1() public method

public SymbolToProc1 ( ) : void
return void

Symbols1() public method

public Symbols1 ( ) : void
return void

Test_Reverse() public method

public Test_Reverse ( byte b, RubyEncoding e, byte expected ) : void
b byte
e RubyEncoding
expected byte
return void

Tests() public method

public Tests ( Driver driver ) : System
driver Driver
return System

ToSConversion1() public method

Embedded string does call "to_s" w/o calling "respond_to?" first.
public ToSConversion1 ( ) : void
return void

ToSConversion2() public method

public ToSConversion2 ( ) : void
return void

TokenCategorizer2() public method

public TokenCategorizer2 ( ) : void
return void

TokenizeIdentifiers1() public method

public TokenizeIdentifiers1 ( ) : void
return void

UnqualifiedConstants1() public method

Unqualified constant lookup should search in lexical scopes from inner most to the outer most looking into modules for constant declared in those modules and their mixins. It shouldn't look to base classes nor mixins.
public UnqualifiedConstants1 ( ) : void
return void

UnqualifiedConstants2() public method

If a constant is not found in the current scope chain, the inner-most module scope's module/class and its ancestors are checked.
public UnqualifiedConstants2 ( ) : void
return void