2021-07-26 19:15:59 +08:00
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
2022-06-17 15:37:17 +08:00
#nullable disable
2021-07-26 19:15:59 +08:00
using System ;
using NUnit.Framework ;
using osu.Framework.Allocation ;
using osu.Framework.Graphics ;
using osu.Framework.Graphics.Containers ;
using osu.Framework.Graphics.Shapes ;
using osu.Game.Online.API.Requests.Responses ;
using osu.Game.Overlays ;
using osu.Game.Overlays.Comments ;
namespace osu.Game.Tests.Visual.Online
{
public class TestSceneDrawableComment : OsuTestScene
{
[Cached]
private readonly OverlayColourProvider colourProvider = new OverlayColourProvider ( OverlayColourScheme . Purple ) ;
2022-09-28 03:40:53 +08:00
[Cached]
private readonly DialogOverlay dialogOverlay = new DialogOverlay ( ) ;
2021-07-26 19:15:59 +08:00
private Container container ;
[SetUp]
public void SetUp ( ) = > Schedule ( ( ) = >
{
2022-09-28 03:40:53 +08:00
if ( dialogOverlay . Parent ! = null ) Remove ( dialogOverlay , false ) ;
2021-07-26 19:15:59 +08:00
Children = new Drawable [ ]
{
new Box
{
RelativeSizeAxes = Axes . Both ,
Colour = colourProvider . Background4 ,
} ,
container = new Container
{
RelativeSizeAxes = Axes . X ,
AutoSizeAxes = Axes . Y ,
} ,
2022-09-28 03:40:53 +08:00
dialogOverlay
2021-07-26 19:15:59 +08:00
} ;
} ) ;
[TestCaseSource(nameof(comments))]
public void TestComment ( string description , string text )
{
AddStep ( description , ( ) = >
{
2021-08-14 01:17:45 +08:00
comment . Pinned = description = = "Pinned" ;
2021-07-26 19:15:59 +08:00
comment . Message = text ;
container . Add ( new DrawableComment ( comment ) ) ;
} ) ;
}
private static readonly Comment comment = new Comment
{
Id = 1 ,
LegacyName = "Test User" ,
CreatedAt = DateTimeOffset . Now ,
VotesCount = 0 ,
} ;
private static object [ ] comments =
{
new [ ] { "Plain" , "This is plain comment" } ,
2021-08-08 18:21:02 +08:00
new [ ] { "Pinned" , "This is pinned comment" } ,
2021-07-26 22:08:57 +08:00
new [ ] { "Link" , "Please visit https://osu.ppy.sh" } ,
2021-07-26 22:02:57 +08:00
new [ ]
{
"Heading" , @ "# Heading 1
# # Heading 2
# # # Heading 3
# # # # Heading 4
# # # # # Heading 5
# # # # # # Heading 6 "
} ,
2021-07-26 19:15:59 +08:00
// Taken from https://github.com/ppy/osu/issues/13993#issuecomment-885994077
new [ ]
{
"Problematic" , @ "My tablet doesn't work :(
It ' s a Huion 420 and it ' s apparently incompatible with OpenTablet Driver . The warning I get is : "" DeviceInUseException : Device is currently in use by another kernel module . To fix this issue , please follow the instructions from https : //github.com/OpenTabletDriver/OpenTabletDriver/wiki/Linux-FAQ#arg umentoutofrangeexception-value-0-15"" and it repeats 4 times on the notification before logging subsequent warnings.
Checking the logs , it looks for other Huion tablets before sending the notification ( e . g .
"" 2021 - 07 - 23 03 : 52 : 33 [ verbose ] : Detect : Searching for tablet ' Huion WH1409 V2 '
20 2021 - 07 - 23 03 : 52 : 33 [ error ] : DeviceInUseException : Device is currently in use by another kernel module . To fix this issue , please follow the instructions from https : //github.com/OpenTabletDriver/OpenTabletDriver/wiki/Linux-FAQ#arg umentoutofrangeexception-value-0-15"")
I use an Arch based installation of Linux and the tablet runs perfectly with Digimend kernel driver , with area configuration , pen pressure , etc . On osu ! lazer the cursor disappears until I set it to "" Borderless "" instead of "" Fullscreen "" and even after it shows up , it goes to the bottom left corner as soon as a map starts .
I have honestly 0 idea of whats going on at this point . "
}
} ;
}
}