Skip to content

Commit 1fb57c3

Browse files
committed
Gadgets/Stdrev: Add tests for rewriting numbering
1 parent 2212f07 commit 1fb57c3

File tree

5 files changed

+114
-0
lines changed

5 files changed

+114
-0
lines changed

gadgets/standard_revisions-tests-pages/test-gadget-stdrev/all.mwiki

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
:[[test-gadget-stdrev/hides-h3-when-section-contains-only-stdrev]]
77
:[[test-gadget-stdrev/preserves-h3-when-section-with-h5-visible]]
88
:[[test-gadget-stdrev/preserves-h3-when-section-visible]]
9+
:[[test-gadget-stdrev/rewrites-numbers-in-dcl]]
10+
:[[test-gadget-stdrev/rewrites-numbers-in-dcl-range]]
911
:[[test-gadget-stdrev/rev-inl-works-in-text]]
1012
:[[test-gadget-stdrev/rev-works-with-fully-closed-ranges]]
1113
:[[test-gadget-stdrev/revlist-works-in-dsc-item]]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{dcl begin}}
2+
{{dcl | num=1 | since=c++11 | 1=
3+
void visible_since_cxx11_1();
4+
}}
5+
{{dcl rev begin | num=2}}
6+
{{dcl | since=c++11 | until=c++14 | 1=
7+
void visible_on_cxx11_2();
8+
}}
9+
{{dcl | since=c++14 | 1=
10+
void visible_since_cxx14_2();
11+
}}
12+
{{dcl rev end}}
13+
{{dcl end}}
14+
15+
text text
16+
17+
@1-2@ text
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{{dcl begin}}
2+
{{dcl | num=1 | since=c++11 | 1=
3+
void visible_since_cxx11_1();
4+
}}
5+
{{dcl | num=2 | 1=
6+
void visible_always_2();
7+
}}
8+
{{dcl | num=3 | until=c++14 | 1=
9+
void visible_until_cxx14_3();
10+
}}
11+
{{dcl end}}
12+
13+
text text
14+
15+
@1@ option_1_visible_since_cxx11
16+
17+
@2@ option_2_visible_always
18+
19+
@3@ option_3_visible_until_cxx14

gadgets/standard_revisions-tests/base.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def setUp(self):
6363

6464
def get_page(self, title):
6565
self.driver.get(self.base_url + "/w/" + title)
66+
self.cached_body = None
6667

6768
def select_standard(self, std):
6869
s = Select(self.driver.find_element_by_css_selector("select"))
@@ -99,3 +100,13 @@ def assert_text_in_body(self, pattern):
99100
def assert_text_not_in_body(self, pattern):
100101
text = self.get_body_cached()
101102
self.assertNotIn(pattern, text)
103+
104+
def text_occurrences_in_body(self, pattern):
105+
return self.driver.find_element_by_xpath("//body").text.count(pattern)
106+
107+
def assert_text_occurrences_in_body(self, num, pattern):
108+
occurrences = self.text_occurrences_in_body(pattern)
109+
self.assertEqual(num, occurrences)
110+
111+
def assert_text_once_in_body(self, pattern):
112+
self.assert_text_occurrences_in_body(1, pattern)

gadgets/standard_revisions-tests/test_dcl.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,68 @@ def test_hides_dcl_items_in_member(self):
5151
self.assert_text_in_body("void always_visible")
5252
self.assert_text_in_body("void not_visible_in_cxx98")
5353
self.assert_text_not_in_body("void not_visible_in_cxx11")
54+
55+
def test_rewrites_numbers_in_dcl(self):
56+
self.get_page("test-gadget-stdrev/rewrites-numbers-in-dcl")
57+
self.assert_text_once_in_body('visible_since_cxx11_1')
58+
self.assert_text_once_in_body('visible_always_2')
59+
self.assert_text_once_in_body('visible_until_cxx14_3')
60+
self.assert_text_once_in_body('(1)')
61+
self.assert_text_once_in_body('(2)')
62+
self.assert_text_once_in_body('(3)')
63+
self.assert_text_once_in_body('1) option_1_visible_since_cxx11')
64+
self.assert_text_once_in_body('2) option_2_visible_always')
65+
self.assert_text_once_in_body('3) option_3_visible_until_cxx14')
66+
67+
self.select_cxx98()
68+
self.assert_text_not_in_body('visible_since_cxx11_1')
69+
self.assert_text_once_in_body('visible_always_2')
70+
self.assert_text_once_in_body('visible_until_cxx14_3')
71+
self.assert_text_once_in_body('(1)')
72+
self.assert_text_once_in_body('(2)')
73+
self.assert_text_not_in_body('(3)')
74+
self.assert_text_not_in_body('option_1_visible_since_cxx11')
75+
self.assert_text_once_in_body('1) option_2_visible_always')
76+
self.assert_text_once_in_body('2) option_3_visible_until_cxx14')
77+
78+
self.select_cxx11()
79+
self.assert_text_once_in_body('visible_since_cxx11_1')
80+
self.assert_text_once_in_body('visible_always_2')
81+
self.assert_text_once_in_body('visible_until_cxx14_3')
82+
self.assert_text_once_in_body('(1)')
83+
self.assert_text_once_in_body('(2)')
84+
self.assert_text_once_in_body('(3)')
85+
self.assert_text_once_in_body('1) option_1_visible_since_cxx11')
86+
self.assert_text_once_in_body('2) option_2_visible_always')
87+
self.assert_text_once_in_body('3) option_3_visible_until_cxx14')
88+
89+
self.select_cxx14()
90+
self.assert_text_once_in_body('visible_since_cxx11_1')
91+
self.assert_text_once_in_body('visible_always_2')
92+
self.assert_text_not_in_body('visible_until_cxx14_3')
93+
self.assert_text_once_in_body('(1)')
94+
self.assert_text_once_in_body('(2)')
95+
self.assert_text_not_in_body('(3)')
96+
self.assert_text_once_in_body('1) option_1_visible_since_cxx11')
97+
self.assert_text_once_in_body('2) option_2_visible_always')
98+
self.assert_text_not_in_body('3) option_3_visible_until_cxx14')
99+
100+
def test_rewrites_numbers_in_dcl_range(self):
101+
self.get_page("test-gadget-stdrev/rewrites-numbers-in-dcl-range")
102+
self.assert_text_once_in_body('visible_since_cxx11_1')
103+
self.assert_text_once_in_body('visible_on_cxx11_2')
104+
self.assert_text_once_in_body('visible_since_cxx14_2')
105+
self.assert_text_once_in_body('(1)')
106+
self.assert_text_once_in_body('(2)')
107+
108+
self.select_cxx11()
109+
self.assert_text_once_in_body('visible_since_cxx11_1')
110+
self.assert_text_once_in_body('visible_on_cxx11_2')
111+
self.assert_text_once_in_body('(1)')
112+
self.assert_text_once_in_body('(2)')
113+
114+
self.select_cxx14()
115+
self.assert_text_once_in_body('visible_since_cxx11_1')
116+
self.assert_text_once_in_body('visible_since_cxx14_2')
117+
self.assert_text_once_in_body('(1)')
118+
self.assert_text_once_in_body('(2)')

0 commit comments

Comments
 (0)