@@ -774,3 +774,29 @@ TEST(TokenTest, ThrowInvalidKeyLength) {
774
774
ASSERT_NO_THROW (jwt::algorithm::es384 (ecdsa384_pub_key, ecdsa384_priv_key));
775
775
ASSERT_NO_THROW (jwt::algorithm::es512 (ecdsa521_pub_key, ecdsa521_priv_key));
776
776
}
777
+
778
+ TEST (TokenTest, MoveDecodedToken) {
779
+ std::string token0 = " eyJhbGciOiJub25lIiwidHlwIjoiSldTIn0.eyJpc3MiOiJhdXRoMCJ9." ;
780
+ std::string token1 =
781
+ " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJpc3MiOiJhdXRoMCJ9.AbIJTDMFc7yUa5MhvcP03nJPyCPzZtQcGEp-zWfOkEE" ;
782
+ auto decoded_token0 = jwt::decode (token0);
783
+ auto decoded_token1 = jwt::decode (token1);
784
+ decoded_token0 = std::move (decoded_token1);
785
+ ASSERT_EQ (token1, decoded_token0.get_token ());
786
+
787
+ ASSERT_TRUE (decoded_token0.has_algorithm ());
788
+ ASSERT_TRUE (decoded_token0.has_type ());
789
+ ASSERT_FALSE (decoded_token0.has_content_type ());
790
+ ASSERT_FALSE (decoded_token0.has_key_id ());
791
+ ASSERT_TRUE (decoded_token0.has_issuer ());
792
+ ASSERT_FALSE (decoded_token0.has_subject ());
793
+ ASSERT_FALSE (decoded_token0.has_audience ());
794
+ ASSERT_FALSE (decoded_token0.has_expires_at ());
795
+ ASSERT_FALSE (decoded_token0.has_not_before ());
796
+ ASSERT_FALSE (decoded_token0.has_issued_at ());
797
+ ASSERT_FALSE (decoded_token0.has_id ());
798
+
799
+ ASSERT_EQ (" HS256" , decoded_token0.get_algorithm ());
800
+ ASSERT_EQ (" JWS" , decoded_token0.get_type ());
801
+ ASSERT_EQ (" auth0" , decoded_token0.get_issuer ());
802
+ }
0 commit comments