Skip to content

Commit

Permalink
Merge branch 'release/4.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
ktekinay committed Sep 12, 2018
2 parents 9878cfe + 64a8fc9 commit fc3180e
Show file tree
Hide file tree
Showing 22 changed files with 5,564 additions and 258 deletions.
25 changes: 25 additions & 0 deletions JSONItem_MTC Harness/App.xojo_code
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
#tag Class
Protected Class App
Inherits Application
#tag Event
Sub Open()
App.StopProfiling

End Sub
#tag EndEvent


#tag Method, Flags = &h0
Sub StartProfiling()
#if XojoVersion >= 2018.02 then
global.StartProfiling
#endif
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub StopProfiling()
#if XojoVersion >= 2018.02 then
global.StopProfiling
#endif
End Sub
#tag EndMethod


#tag Constant, Name = kEditClear, Type = String, Dynamic = False, Default = \"&Delete", Scope = Public
#Tag Instance, Platform = Windows, Language = Default, Definition = \"&Delete"
#Tag Instance, Platform = Linux, Language = Default, Definition = \"&Delete"
Expand Down
84 changes: 49 additions & 35 deletions JSONItem_MTC Harness/JSONItem_MTC Harness.xojo_project
Original file line number Diff line number Diff line change
@@ -1,38 +1,45 @@
Type=Desktop
RBProjectVersion=2016.011
RBProjectVersion=2018.02
MinIDEVersion=20070100
Class=App;App.xojo_code;&h14C611D3;&h0;false
MenuBar=MenuBar1;MenuBar1.xojo_menu;&h18745784;&h0;false
Window=WndMenu;WndMenu.xojo_window;&h618D91A0;&h0;false
Window=WndPlayground;WndPlayground.xojo_window;&h57BC7FF2;&h0;false
Folder=XojoUnit;XojoUnit;&h2516B04D;&h0;false
Folder=Tests;Tests;&h1962C3CC;&h0;false
Class=Stopwatch_MTC;Stopwatch_MTC.xojo_code;&h34CE49A5;&h0;false
BuildSteps=Build Automation;Build Automation.xojo_code;&h7E1DE94C;&h0;false
Class=JSONItem_MTC;../JSONItem_MTC.xojo_xml_code;&h2DCCA46D;&h0;false
Class=DesktopTestController;Tests/DesktopTestController.xojo_code;&h3FC78D4E;&h1962C3CC;false
Class=BasicTests_JSONItem;Tests/BasicTests_JSONItem.xojo_code;&h6BEECF33;&h1962C3CC;false
Class=BasicTests_JSONItem_MTC;Tests/BasicTests_JSONItem_MTC.xojo_code;&h2324D4BF;&h1962C3CC;false
Class=BasicTests_NewFramework;Tests/BasicTests_NewFramework.xojo_code;&h28A07FF;&h1962C3CC;false
Class=CompareTests;Tests/CompareTests.xojo_code;&h30843965;&h1962C3CC;false
Class=LongTests_JSONItem_MTC;Tests/LongTests_JSONItem_MTC.xojo_code;&h513E8F7E;&h1962C3CC;false
Class=JsonOrgExampleTests;Tests/JsonOrgExampleTests.xojo_code;&h260C54C7;&h1962C3CC;false
Class=StressTests;Tests/StressTests.xojo_code;&h1D5DEFFF;&h1962C3CC;false
Class=XojoJSONItemTests;Tests/XojoJSONItemTests.xojo_code;&h794C237D;&h1962C3CC;false
RawData=json_sample;Text Files/json_sample.txt;&h5E7609A1;&h0;false
Module=M_Global;M_Global.xojo_code;&h3616CFFF;&h0;false
Folder=Tests;XojoUnit/Tests;&h44C729E7;&h2516B04D;false
Class=XojoUnitTests;XojoUnit/Tests/XojoUnitTests.xojo_code;&h45CA76B3;&h44C729E7;false
Class=XojoUnitFailTests;XojoUnit/Tests/XojoUnitFailTests.xojo_code;&h2FC99FFF;&h44C729E7;false
Folder=TestFramework;XojoUnit/TestFramework;&h3E1A9B41;&h2516B04D;false
Class=TestGroup;XojoUnit/TestFramework/TestGroup.xojo_code;&h6F90619D;&h3E1A9B41;false
Class=TestController;XojoUnit/TestFramework/TestController.xojo_code;&h6FF90549;&h3E1A9B41;false
Class=Assert;XojoUnit/TestFramework/Assert.xojo_code;&h6F374736;&h3E1A9B41;false
Class=TestResult;XojoUnit/TestFramework/TestResult.xojo_code;&h1624A4EB;&h3E1A9B41;false
MenuBar=XojoUnitMenuBar;XojoUnit/XojoUnitMenuBar.xojo_menu;&h726AEEEA;&h2516B04D;false
Toolbar=XojoUnitTestToolbar;XojoUnit/XojoUnitTestToolbar.xojo_toolbar;&h4C5F6799;&h2516B04D;false
Window=XojoUnitAboutWindow;XojoUnit/XojoUnitAboutWindow.xojo_window;&h6C01E42;&h2516B04D;false
Window=XojoUnitTestWindow;XojoUnit/XojoUnitTestWindow.xojo_window;&h5E851226;&h2516B04D;false
Class=App;App.xojo_code;&h0000000014C611D3;&h0000000000000000;false
MenuBar=MenuBar1;MenuBar1.xojo_menu;&h0000000018745784;&h0000000000000000;false
Window=WndMenu;WndMenu.xojo_window;&h00000000618D91A0;&h0000000000000000;false
Window=WndPlayground;WndPlayground.xojo_window;&h0000000057BC7FF2;&h0000000000000000;false
Folder=XojoUnit;XojoUnit;&h000000002516B04D;&h0000000000000000;false
Folder=Tests;Tests;&h000000001962C3CC;&h0000000000000000;false
Class=Stopwatch_MTC;Stopwatch_MTC.xojo_code;&h0000000034CE49A5;&h0000000000000000;false
BuildSteps=Build Automation;Build Automation.xojo_code;&h000000007E1DE94C;&h0000000000000000;false
Class=JSONItem_MTC;../JSONItem_MTC.xojo_xml_code;&h000000002DCCA46D;&h0000000000000000;false
Class=JSONWebToken_MTC;../JSONWebToken_MTC.xojo_xml_code;&h00000000034117FF;&h0000000000000000;false
Module=M_JSON;M_JSON.xojo_code;&h00000000190CD7FF;&h0000000000000000;false
Class=DesktopTestController;Tests/DesktopTestController.xojo_code;&h000000003FC78D4E;&h000000001962C3CC;false
Class=BasicTests_JSONItem;Tests/BasicTests_JSONItem.xojo_code;&h000000006BEECF33;&h000000001962C3CC;false
Class=BasicTests_JSONItem_MTC;Tests/BasicTests_JSONItem_MTC.xojo_code;&h000000002324D4BF;&h000000001962C3CC;false
Class=BasicTests_NewFramework;Tests/BasicTests_NewFramework.xojo_code;&h00000000028A07FF;&h000000001962C3CC;false
Class=CompareTests;Tests/CompareTests.xojo_code;&h0000000030843965;&h000000001962C3CC;false
Class=LongTests_JSONItem_MTC;Tests/LongTests_JSONItem_MTC.xojo_code;&h00000000513E8F7E;&h000000001962C3CC;false
Class=JsonOrgExampleTests;Tests/JsonOrgExampleTests.xojo_code;&h00000000260C54C7;&h000000001962C3CC;false
Class=JSONWebTokenTests;Tests/JSONWebTokenTests.xojo_code;&h00000000516AB7FF;&h000000001962C3CC;false
Class=M_JSONTests;Tests/M_JSONTests.xojo_code;&h000000002B8B97FF;&h000000001962C3CC;false
Class=StressTests;Tests/StressTests.xojo_code;&h000000001D5DEFFF;&h000000001962C3CC;false
Class=XojoJSONItemTests;Tests/XojoJSONItemTests.xojo_code;&h00000000794C237D;&h000000001962C3CC;false
RawData=json_sample;Text Files/json_sample.txt;&h000000005E7609A1;&h0000000000000000;false
Module=M_Global;M_Global.xojo_code;&h000000003616CFFF;&h0000000000000000;false
Class=JSONDictionary;M_JSON/JSONDictionary.xojo_code;&h0000000035DB8FFF;&h00000000190CD7FF;false
Folder=Tests;XojoUnit/Tests;&h0000000044C729E7;&h000000002516B04D;false
Class=XojoUnitSuperClassTests;XojoUnit/Tests/XojoUnitSuperClassTests.xojo_code;&h000000003A8067FF;&h0000000044C729E7;false
Class=XojoUnitTests;XojoUnit/Tests/XojoUnitTests.xojo_code;&h0000000045CA76B3;&h0000000044C729E7;false
Class=XojoUnitFailTests;XojoUnit/Tests/XojoUnitFailTests.xojo_code;&h000000002FC99FFF;&h0000000044C729E7;false
Folder=TestFramework;XojoUnit/TestFramework;&h000000003E1A9B41;&h000000002516B04D;false
Class=TestGroup;XojoUnit/TestFramework/TestGroup.xojo_code;&h000000006F90619D;&h000000003E1A9B41;false
Class=TestController;XojoUnit/TestFramework/TestController.xojo_code;&h000000006FF90549;&h000000003E1A9B41;false
Class=Assert;XojoUnit/TestFramework/Assert.xojo_code;&h000000006F374736;&h000000003E1A9B41;false
Class=TestResult;XojoUnit/TestFramework/TestResult.xojo_code;&h000000001624A4EB;&h000000003E1A9B41;false
Class=XojoUnitTestFailedException;XojoUnit/TestFramework/XojoUnitTestFailedException.xojo_code;&h000000000AF4DFFF;&h000000003E1A9B41;false
MenuBar=XojoUnitMenuBar;XojoUnit/XojoUnitMenuBar.xojo_menu;&h00000000726AEEEA;&h000000002516B04D;false
Toolbar=XojoUnitTestToolbar;XojoUnit/XojoUnitTestToolbar.xojo_toolbar;&h000000004C5F6799;&h000000002516B04D;false
Window=XojoUnitAboutWindow;XojoUnit/XojoUnitAboutWindow.xojo_window;&h0000000006C01E42;&h000000002516B04D;false
Window=XojoUnitTestWindow;XojoUnit/XojoUnitTestWindow.xojo_window;&h000000005E851226;&h000000002516B04D;false
DefaultWindow=WndMenu
AppMenuBar=MenuBar1
MajorVersion=1
Expand All @@ -48,11 +55,11 @@ WinInternalName=
WinProductName=
WinFileDescription=
AutoIncrementVersionInformation=False
BuildFlags=&h4800
BuildFlags=&h1900
BuildLanguage=&h0
DebugLanguage=&h0
Region=
WindowsName=My Application.exe
WindowsName=JSONItem_MTC.exe
MacCarbonMachName=JSONItem_MTC
LinuxX86Name=MyApplication
MacCreator=
Expand All @@ -64,4 +71,11 @@ OSXBundleID=com.mactechnologies.jsonitemmtc
DebuggerCommandLine=
UseGDIPlus=False
UseBuildsFolder=True
HiDPI=True
CopyRedistNextToWindowsEXE=False
IsWebProject=False
MacBuildArchitecture=1
WindowsBuildArchitecture=1
OptimizationLevel=4
WindowsVersions={35138b9a-5d96-4fbd-8e2d-a2440225f93a}|{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}|{1f676c76-80e1-4239-95bb-83d0f6d0da78}|{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}
WindowsRunAs=0
33 changes: 33 additions & 0 deletions JSONItem_MTC Harness/M_Global.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,39 @@ Protected Module M_Global
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function Repeat(src As String, repetitions As Integer) As String
return src.Repeat_MTC( repetitions )
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function Repeat_MTC(Extends src As String, repetitions As Integer) As String
// Repeats the given string repetitions times.

// Common cases
if repetitions < 1 then return ""
if repetitions = 1 then return src
if repetitions = 2 then return src + src
if repetitions = 3 then return src + src + src

dim curLenB as integer = src.LenB
dim targetLenB as integer = curLenB * repetitions
dim halfLenB as integer = ( targetLenB + 1 ) \ 2

while curLenB < halfLenB
src = src + src
curLenB = curLenB + curLenB
wend

dim diffB as integer = targetLenB - curLenB
if diffB <> 0 then src = src + LeftB( src, diffB )

return src

End Function
#tag EndMethod


#tag ViewBehavior
#tag ViewProperty
Expand Down
Loading

0 comments on commit fc3180e

Please sign in to comment.