« first day (447 days earlier)      last day (2733 days later) » 

00:01
RELOAD!
[Cardshifter/Cardshifter] 1 commit. 1 closed issue. 6 issue comments. 2 additions. 2 deletions.
[Cardshifter/HTML-Client] 4 commits. 3 opened issues. 2 issue comments. 26 additions. 125 deletions.
[rubberduck-vba/Rubberduck] 1 opened issue.
[Zomis/Duga] 1 opened issue.
 
5 hours later…
05:00
> Hi @vdubya, this is a known issue that we expect to fix for next release: basically our grammar (more precisely the parser ANTLR generates with it) has a problem with an array call that's made out of the result of a function.

In other words, this works around the issue:

Sub test()
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Dim rng As Range
Set rng = ws1.Range("namedrange")
rng(2) = ws2.Range("A1")
> #749 covers it.
 
1 hour later…
06:12
06:29
late enough, I'll fix the binding another day (running the tests doesn't seem to update anything)
[retailcoder/Rubberduck] retailcoder pushed commit 1934f917 to ICommand_Shelved: implemented treeview. doesn't yet update with test results, but getting somewhere.
 
3 hours later…
Zak
Zak
09:37
Anyone around who can explain how to operate source control in RubberDuck?
 
2 hours later…
11:36
@Zak all the local functionality more or less works. You need another Git client installed at the moment though. Particularly for creating/cloning remotes, but there's a bug with local functionality that's preventing commits without one too.
Zak
Zak
@RubberDuck most of that flew over my head :) doesn't help that I'm very new to GitHub as well
what's the easiest way to acomplish the following:
save the current state of my project to a repository as a new commit
or branch, or whatever's most appropriate
Basically, you can create and use a repository that lives on your local machine, but you can't clone one from github directly from RD.
Click the "Initialize New Repository" button. It's a folder-plus icon.
Zak
Zak
right
But make sure you name the VBAProject first.
Zak
Zak
do I have to navigate to the repository location every time I do that?
11:40
No. Once it's open its open.
Zak
Zak
so, once I've created the repository, every change to my project will automatically be copied to the repository?
@Zak @RubberDuck would do that better than me
No. You have to commit for that to happen.
But nothing works without a .gitconfig file... Oops.
So, download mysysgit or GitHub for Windows or source tree.
Zak
Zak
I've got github for windows
@Mat'sMug we're in the 2nd Monitor. Care to move that conversation here?
11:44
@RubberDuck @Zak you okay with me moving this to the VBA Rubberducking room?
Zak
Zak
sure, not a problem
18 messages moved from The 2nd Monitor
Zak
Zak
so yes, I've got github for windows
what next?
Not much.
Initialize a new repository from RD's source control pane and get to work.
Zak
Zak
okay, so it should automatically track changes to my code?
11:56
Yup. You might have to refresh from time to time to pick up the changes in the Changes pane, but yeah.
Zak
Zak
awesome :)
When you're happy with a change, commit it. RD will automatically export the code module to your repository and perform a commit.
Zak
Zak
that just involves pressing the refresh button right?
No. It involves putting a message in the box and pressing commit.
But yes. Refreshing does export the code to the repository. It has to in order to pick up the changes.
Zak
Zak
the go button is still greyed out?
11:58
But that doesn't save anything.
Screenshot?
There aren't any included changes to be committed.
Zak
Zak
what counts as a change?
because I've been writing unit tests
Practically anything... try refreshing?
Zak
Zak
not doing anything
the github symbol is saying offline
is that significant?
12:02
Very.
Zak
Zak
okay. how do I fix that?
What's in %AppdataLocal%\Rubberduck\sourcecontrol.rubberduck ?
Remove all but one of those, save it, then click the "Open working dir" button.
Is your project name still VBAProject?
Zak
Zak
yes
github symbol is online now
12:08
Okay. Now refresh.
Zak
Zak
nothing. github went offline again
Weird.
Zak
Zak
might it be the settings?
or lack thereof?
Save/Close your workbook.
Open that file back up and make sure you've only got a single entry in there again.
Then open excel and the VBE back up.
It should auto-load when you open the source control pane.
(Be online)
Zak
Zak
okay, it's online
wait 1 sec
wrong workbook
okay, it's online
12:14
on the edge of his seat
Zak
Zak
I changed one of my unit tests. still not seeing any changes listed for commiting
Then something is terribly broken and I need to fix it.
You could still use the API though. I know it works
Zak
Zak
I had a look at that, it confused me :)
Zak
Zak
the "init new repo" thing works
as in, if I navigate it to where the old one is, it shows up as a new commit in github
12:18
I really don't know. Gotta get to work.
Sorry.
@Rubberduck203 v1.4.3 busted 500 downloads today, and the 2.0 test explorer UI in WPF/XAML is starting to cooperate 😊 #MakesMyDay
Zak
Zak
klkl. well, I can still do it manually. hopefully you find the problem without too much debugging :)
> Rubberduck.Setup.1.4.3.0.exe(4.32MB) - Downloaded 503 times.
Last updated on 2015-07-08
12:49
@Zak any parser issues yet?
There's a known issue with accessing an index of a function's return value, like Range("A1:J1")(i)
Work-around is to introduce a variable to hold the return value, and access the index on that variable
Zak
Zak
not got that far yet
my unit test isn't behaving
13:35
@Zak hmm try declaring some expected and actual locals with an explicit type, and use those for the assertions.
That ^ or cast the variant from the array to a long.
Zak
Zak
okay, thanks, sorted
Blame Variant ;-)
Lol. Always blame variant.
Zak
Zak
14:12
Can I suggest that unit tests consider "1" = "1 (long)" to be true?
Oh, but wait, I guess that would make it impossible to implicitly test for the right data, in the right format, right?
14:35
@Zak I'd have to browse the AssertClass code and see how that would be possible. It might, but it would cost quite a bunch of parsing and casting performance penalties IMO.. IIRC that's why we decided to fail the assertion with some "mismatching types" message, and to leave it up to the VBA code to supply the correct types.
You could make a feature request on the repo: we could always expose some PermissiveAssertClass that supports this :-)
Zak
Zak
14:57
It's cool. Maybe make a note somewhere that the variables in the assert have to be the same?
'type'
15:11
Another possibility could be to implement the AssertClass in VB.NET without Option Strict on. Equality checks would behave more like VBA's
That's definitely possible.
15:55
> @retailcoder Sorry for the duplicate, still getting familiarized with the project and github for that matter. Kudos to you guys on RD, it is a fantastic tool!
> No problem at all! Thanks again for the feedback - duplicate or not, all feedback is welcome and highly appreciated :-)
16:53
@RubberDuck implementing an AssertClass in VB.NET without option strict would make equality checks obey pretty much VBA's implicit conversion rules.. wouldn't it?
@Mat'sMug definitely possible, and not a bad idea. I'd look for a c# solution first, because we have some reason for having that implemented inside the main project, don't we?
Shit.
Shit shit shit
#FML
You're totally right
So it would have to be casts and TryParses
Oh well. How about I open an issue and leave it
17:19
> The COM-visible `Rubberduck.AssertClass` is implementing `AreEqual` in a type-safe way that is *expected* in .net but that can be surprising in VBA:

if (expected.GetType() != actual.GetType())
{
AssertHandler.OnAssertInconclusive("[expected] and [actual] values are not the same type.");
return;
}

Let's implement and expose a `PermissiveAssertClass` that implements equality checks in a more VBA-like way - this involve
^^ that string could be localized, too...
> The current AssertClass members could be made virtual and the new class derived from it, to simplify implementing the IAssert interface.
17:40
> Nothing else needs to change anywhere; the VBA code is responsible for creating the `AssertClass` instance, and the test engine listens for `public static event EventHandler<AssertCompletedEventArgs> OnAssertCompleted` in the `AssertHandler` static class, so the `PermissiveAssertClass` could look like this (assuming `AssertClass` members are made `virtual`):

[ComVisible(true)]
[ComDefaultInterface(typeof(IAssert))]
[Guid(ClassId)]
[ProgId(ProgId)]
public class Permis
18:07
#UpForGrabs #OSS #CSharp anyone wants to implement a PermissiveAssertClass that checks equality like VBA would? https://github.com/rubberduck-vba/Rubberduck/issues/755
 
4 hours later…
22:05
> I find it counterintuitive to decide how exact my Asserts are by a configurable setting. I'd sure prefer one statement to always mean the same across all projects. Instead I'd personally move these "loose" asserts into differently named methods / a different class.

This may allow you to still configure which of these two you prefer, but `AssertEquals(a, b, "wat")` should for the same a and b always return the same result.
@Mat'sMug apropos localization... next still is the current branch in those matters, correct?
23:01
@Vogel612 indeed. I'm just not ready to merge my fork yet ;-)
just shoot me a note, and please add a key for Language_JP
> @Vogel612 fair point; the problem is that VBA and C#'s respective definition of "same a and b" are different, because VBA is quite generous with implicit conversions.

The current `AssertClass` behaves more like C# and, while it's good to be strict with types, a VBA programmer may prefer, or *expect* (or *need*?) "123" to be considered equal to 123. Or more subtly, 123 (`Integer`) to be equal to 123 (`Byte`) or 123 (`Long`).

I'd keep the current implementation the default, but allow the u
23:31
@Vogel612 sure! ...although the Language_XX keys only really need to exist for the language they're for
> @Vogel612 just picked up "or move them to a different class" - that's exactly what I'm suggesting: by default, adding a new test module would create a new standard module featuring this line:

Private Assert As New Rubberduck.AssertClass

What this issue is suggesting, is to give the ability to do this:

Private Assert As New Rubberduck.PermissiveAssertClass

The configurable part merely determines which class is being instantiated by default - user can switch one for the other

« first day (447 days earlier)      last day (2733 days later) »