@@ -643,3 +643,87 @@ func TestLessThanOrEqual(t *testing.T) {
643643 }
644644 }
645645}
646+
647+ func TestRemoveMeta (t * testing.T ) {
648+ cases := []struct {
649+ raw string
650+ clean string
651+ }{
652+ {"1.13.0+dev-12-gcb171dbd5" , "1.13.0" },
653+ {"1.13.0-rc1" , "1.13.0-rc1" },
654+ {"1.13.0-rc1+dev-12-gcb171dbd5" , "1.13.0-rc1" },
655+ {"1.1.4" , "1.1.4" },
656+ {"1.2" , "1.2.0" },
657+ {"1.2.0" , "1.2.0" },
658+ {"1.2.0-X-1.2.0+metadata~dist" , "1.2.0-X-1.2.0" },
659+ {"1.2.3" , "1.2.3" },
660+ {"1.2+beta" , "1.2.0" },
661+ {"1.2-beta" , "1.2.0-beta" },
662+ {"1.2+foo" , "1.2.0" },
663+ {"1.4.5" , "1.4.5" },
664+ {"1.7" , "1.7.0" },
665+ {"1.7rc1" , "1.7.0-rc1" },
666+ {"1.7rc2" , "1.7.0-rc2" },
667+ {"v1.2" , "1.2.0" },
668+ {"v1.2.0.0" , "1.2.0.0" },
669+ {"v1.2.0.0.1" , "1.2.0.0.1" },
670+ {"v1.2+beta" , "1.2.0" },
671+ {"v1.2-beta" , "1.2.0-beta" },
672+ {"v1.2+foo" , "1.2.0" },
673+ }
674+
675+ for _ , tc := range cases {
676+ v , err := NewVersion (tc .raw )
677+ if err != nil {
678+ t .Fatalf ("err: %s" , err )
679+ }
680+
681+ v .RemoveMeta ()
682+
683+ if v .String () != tc .clean {
684+ t .Fatalf ("Expect: %s, Got: %s" , tc .clean , v .String ())
685+ }
686+ }
687+ }
688+
689+ func TestRemovePre (t * testing.T ) {
690+ cases := []struct {
691+ raw string
692+ clean string
693+ }{
694+ {"1.13.0+dev-12-gcb171dbd5" , "1.13.0+dev-12-gcb171dbd5" },
695+ {"1.13.0-rc1" , "1.13.0" },
696+ {"1.13.0-rc1+dev-12-gcb171dbd5" , "1.13.0+dev-12-gcb171dbd5" },
697+ {"1.1.4" , "1.1.4" },
698+ {"1.2" , "1.2.0" },
699+ {"1.2.0" , "1.2.0" },
700+ {"1.2.0-X-1.2.0+metadata~dist" , "1.2.0+metadata~dist" },
701+ {"1.2.3" , "1.2.3" },
702+ {"1.2+beta" , "1.2.0+beta" },
703+ {"1.2-beta" , "1.2.0" },
704+ {"1.2+foo" , "1.2.0+foo" },
705+ {"1.4.5" , "1.4.5" },
706+ {"1.7" , "1.7.0" },
707+ {"1.7rc1" , "1.7.0" },
708+ {"1.7rc2" , "1.7.0" },
709+ {"v1.2" , "1.2.0" },
710+ {"v1.2.0.0" , "1.2.0.0" },
711+ {"v1.2.0.0.1" , "1.2.0.0.1" },
712+ {"v1.2+beta" , "1.2.0+beta" },
713+ {"v1.2-beta" , "1.2.0" },
714+ {"v1.2+foo" , "1.2.0+foo" },
715+ }
716+
717+ for _ , tc := range cases {
718+ v , err := NewVersion (tc .raw )
719+ if err != nil {
720+ t .Fatalf ("err: %s" , err )
721+ }
722+
723+ v .RemovePre ()
724+
725+ if v .String () != tc .clean {
726+ t .Fatalf ("Expect: %s, Got: %s" , tc .clean , v .String ())
727+ }
728+ }
729+ }
0 commit comments