소스 검색

The topic filter comparer now checks for e.g. "foo/" matching "foo/#".

release/3.x.x
Philip Schill 3 년 전
부모
커밋
b1bf7698aa
2개의 변경된 파일13개의 추가작업 그리고 0개의 파일을 삭제
  1. +7
    -0
      Source/MQTTnet/Server/MqttTopicFilterComparer.cs
  2. +6
    -0
      Tests/MQTTnet.Core.Tests/TopicFilterComparer_Tests.cs

+ 7
- 0
Source/MQTTnet/Server/MqttTopicFilterComparer.cs 파일 보기

@@ -31,6 +31,13 @@ namespace MQTTnet.Server
{
return true;
}
// Check for e.g. foo/ matching foo/#
if (sPos == sLen - 2
&& filter[sPos] == LevelSeparator
&& filter[sPos + 1] == MultiLevelWildcard)
{
return true;
}
}

sPos++;


+ 6
- 0
Tests/MQTTnet.Core.Tests/TopicFilterComparer_Tests.cs 파일 보기

@@ -54,6 +54,12 @@ namespace MQTTnet.Tests
CompareAndAssert("A/B/C/D", "A/C/#", false);
}

[TestMethod]
public void TopicFilterComparer_EndMultipleLevelsWildcardMatchEmptyLevel()
{
CompareAndAssert("A/", "A/#", true);
}

[TestMethod]
public void TopicFilterComparer_AllLevelsWildcardMatch()
{


불러오는 중...
취소
저장