рдХреЛрдгреАрдп: рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг (рдЙрдерд▓рд╛ рдкрд░реАрдХреНрд╖рдг)



рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдврд╝рддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдпреВрдирд┐рдЯ рдпрд╛ рдИ 2 рдбреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдХреЛрдгреАрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП - рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдФрд░ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдирд╛рддреЗ рд╕рдордп рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рд╛, рдкрд░реАрдХреНрд╖рдг рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рдХреА рддрд░рд╣ рдирд╣реАрдВ рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдХреБрдВрдЬреА рд╣реИред

рдЕрдЧрд▓рд╛, рдЖрдЗрдП рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдореВрд▓ рдЖрд╡реЗрджрди рдХреЛ рдПрдВрдЧреБрд▓рд░ рдкрд░ рдХреИрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдФрд░ рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВред

рдЖрдЗрдП рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реАрдорд╛рдВрдд)ред



(рдорд╛рд░реНрдЯрд┐рди рдлрд╛рдЙрд▓рд░ рдФрд░ рдЧреВрдЧрд▓ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдмреНрд▓реЙрдЧ)

рдХреЛрдгреАрдп рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдРрд╕реЗ рддрд░реАрдХреЗ рд╣реИрдВред

рдЖрдЗрдП рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдкрд┐рд░рд╛рдорд┐рдб рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг - рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдкреГрдердХ рдкрд░реАрдХреНрд╖рдгред рд╣рдо рд╡рд┐рдзрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдПрдХ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣реЗрдХреНрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЖрд░рдЬреАрдмреА рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдмрд╛рдХреА рд╕рд░реНрд╡рд░ рдХреЛ рднреА рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред

рдпрджрд┐ рд╣рдо рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдУрд░ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдШрдЯрдХ рд╡рд░реНрдЧ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХрдИ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдзрд┐ rgbToHex (рд╣реЗрдХреНрд╕: рд╕реНрдЯреНрд░рд┐рдВрдЧ) => рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдЙрдореНрдореАрдж (rgbToHex ('777'))ред ToBe ('рдЖрд░рдЬреАрдмреА (119, 119, 119)')ред ред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛, рд╣рдо рдЙрдирдХреЗ рд╕рдВрдпреБрдХреНрдд рдХрд╛рд░реНрдп рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддрд╛рд▓рд┐рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдШрдЯрдХ рдХреЛ рдмрдирд╛рдпрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ "рдХреИрд▓рдХреБрд▓реЗрдЯрд░" рдШрдЯрдХ рдореЗрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧрд▓рддреА рд╕реЗ рдЧрд▓рдд рдмрдВрдзрди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рддрдм рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВ рдЧрд┐рд░реЗрдВрдЧреЗ, рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдЫрд╡рд┐

рдПрдХреАрдХрд░рдг рдЬрд╛рдВрдЪ- рдХрдИ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкрд░реАрдХреНрд╖рдгред рдЗрд╕ рдЪрд░рдг рд╕реЗ рд╣рдо рди рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмрдВрдзрди рднреА, рдЕрд░реНрдерд╛рддреНред рдШрдЯрдХ рдХреЗ рдЕрдВрджрд░ рдХреЗ рддрддреНрд╡реЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЙрдерд▓рд╛ рдкрд░реАрдХреНрд╖рдг рдЕрдХреНрд╕рд░ рдХреЛрдгреАрдп рд╕рдВрдХреЗрддрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╣реИред

рдЙрдерд▓реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╣рдо рдиреАрдЪреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдПрдВрдЧреЗред

рдИ 2 рдИ (рдПрдВрдб-рдЯреВ-рдПрдВрдб) рдкрд░реАрдХреНрд╖рдг - рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╕рднреА рдШрдЯрдХреЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рддреЗ рд╕реНрдЯрдмреНрд╕ (рдЖрдорддреМрд░ рдкрд░ рдиреЛрдбреНрд╕ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рдЬреЗрдиреНрд╕ рд╕рд░реНрд╡рд░) рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдореБрд▓реЗрдЯреЗрдб рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рд▓рд╛ рдПрдХ рдкреГрд╖реНрда рд╣реИ, рдЗрд╕ рдкреИрдирд▓ рдХрд╛ рдПрдХ рдШрдЯрдХ рдкреГрд╖реНрдард╛рдВрдХрди рд╣реИред рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЗрдореНрдпреВрд▓реЗрдЯреЗрдб рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рдЬреЛрдВрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реЛрдЧреА, рдФрд░ рд╣рдо рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреА рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред

рдирддреАрдЬрддрди, рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рд╣рдо рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рд╕реНрдЯрдмреНрд╕ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рддрд░реАрдХреЛрдВ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рддрд╛рд░реНрдХрд┐рдХ рдЗрдХрд╛рдЗрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдИ 2 рдИ рдФрд░ рдпреВрдирд┐рдЯ-рдЯреЗрд╕реНрдЯ рдХреЗ рдмреАрдЪ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЙрдерд▓реЗ рдкрд░реАрдХреНрд╖рдг (рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг) рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред

рд╢рдмреНрджрд╛рд╡рд▓реА:

  • рдореЛрдХреНрд╕ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред
  • рд╕реНрдЯрдмреНрд╕ рдмрд┐рдирд╛ рддрд░реНрдХ рдХреЗ рд╕рдмрд╕реЗ рдмреЗрд╡рдХреВрдл рд╕реНрдЯрдмреНрд╕ рд╣реИрдВ (рдЖрдк рдорд╛рд░реНрдЯрд┐рди рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ)ред
  • рдХрд░реНрдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рдзрд╛рд╡рдХ рд╣реИ рдЬрд┐рд╕реЗ рдХреЛрдгреАрдп рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд▓реЗрдХрд┐рди рдЖрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдЬреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ)ред
  • рдЪрдореЗрд▓реА рдЪрд╢реНрдореЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред
  • рдпреБрдХреНрддрд┐ - рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди (BDD рд╢реИрд▓реА рдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╡рд┐рд╡рд░рдг)ред
  • рдпрд╣ рдЬреИрд╕реНрдореАрди рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдирд╛рдо рд╣реИред
  • xit рдЙрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдирд╛рдо рд╣реИ рдЬреЛ рдирд╣реАрдВ рдЪрд▓реЗрдВрдЧреАред
  • рдлрд┐рдЯ - рдЕрдЧрд░ рдРрдирдХ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдХреЛрдгреАрдп рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдиреНрдп рдЪреМрдЦрдЯреЗ рдХреЗ рд▓рд┐рдП рдЙрдерд▓рд╛ рдкрд░реАрдХреНрд╖рдг, рдПрдХ рдЗрдХрд╛рдИ-рдкрд░реАрдХреНрд╖рдг рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ, рдЬрдм рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рдШрдЯрдХ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЕрдкрдиреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде ui рдХреА рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реЛ рд╕рдХреЗред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЗрдХреНрд╕ -> рдЖрд░рдЬреАрдмреА рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдХ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдЗрд╕ рдШрдЯрдХ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрдмреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЗрд╕ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдШрдЯрдХ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг (рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА) рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

PageObject рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдШрдЯрдХ рдХреЗ рдШрдЯрдХреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореВрд▓ рдореЗрдВ рдПрдХ рд╕рд╣рд╛рдпрдХ рдЬреЛрдбрд╝реЗрдВред

рд╣реЗрд▓реНрдкрд░ - рдЙрди рдШрдЯрдХреЛрдВ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╣рдо рдХреЛрдгреАрдп рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рддреЛ рдЯрд╛рдЗрдк рд╕реЗрд▓реЗрдХреНрдЯ рдХреЗ рддрддреНрд╡ рдПрдХ рдЕрд▓рдЧ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдВрдЧреЗ, рдФрд░ рдЗрди рддрддреНрд╡реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рд╕реЗ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╣рд╛рдпрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЖрд╡рд░рдг рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

export class PageObjectBase {

  constructor(private root: HTMLDivElement) { }
  //    input  
  _inputValue(cssSelector: string, value: string) { 
    if (value) {
      this.root.querySelector<HTMLInputElement>(cssSelector).value = value;
      this.root.querySelector<HTMLInputElement>(cssSelector).dispatchEvent(new Event('input'));
    }
    else {
      return this.root.querySelector<HTMLInputElement>(cssSelector).value
    }
  }
  //          
  _buttonClick(cssSelector: string) {
    this.root.querySelector<HTMLButtonElement>(cssSelector).dispatchEvent(new Event('click'));
  }

}

PageObject рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИред рд▓рд┐рдЦрд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо UI рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ, рдмрд╕ рддрддреНрд╡ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред


export class ConverterFromHexPageObject extends PageObjectBase {

  constructor(root: HTMLDivElement) {
    super(root)
  }

  hex(text?: string) {
    return this._inputValue('.input-hex', text);
  }

  rgb(text?: string) {
    return this._inputValue('.input-rgb', text);
  }

  clear() {
    this._buttonClick('.btn-clear')
  }

  calc() {
    this._buttonClick('.btn-calc')
  }

}

рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдпрдВ:


// ,        api   
const urlToSave = 'http://localhost:4200/save-hex';


//  -   
describe('ConverterFromHexComponent', () => {
  let component: ConverterFromHexComponent;
  let fixture: ComponentFixture<ConverterFromHexComponent>;
  let page: ConverterFromHexPageObject;
  let httpTestingController: HttpTestingController;


  //      ,   
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [ConverterModule, HttpClientTestingModule]
    })
      .compileComponents();
    httpTestingController = TestBed.get(HttpTestingController);
  }));


  //  ,   
  beforeEach(() => {
    fixture = TestBed.createComponent(ConverterFromHexComponent);
    component = fixture.componentInstance;
    page = new ConverterFromHexPageObject(fixture.nativeElement);
    fixture.detectChanges();
  });


  //    ,     http 
  afterEach(() => {
    httpTestingController.verify();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });

  it('should clear', async () => {
    page.hex('112233'); //  input  
    expect(page.hex()).toBe('112233'); // ,    
    await page.clear(); //      
    fixture.detectChanges(); //    
    expect(page.hex()).toBe(''); // ,   clear 
  });

  it('should convert', async () => {
    page.hex('123123');
    expect(page.rgb()).toBe('');
    page.calc();
    const req = httpTestingController.expectOne(urlToSave);
    expect(req.request.method).toEqual('POST');
    expect(req.request.body.hex).toEqual('123123');
    req.flush({});
    await fixture.detectChanges();
    expect(page.rgb()).toBe('rgb(18, 49, 35)');
  });

  it('should convert three-digit hex', async () => {
    page.hex('567');
    expect(page.rgb()).toBe('');
    page.calc();
    const req = httpTestingController.expectOne(urlToSave);
    expect(req.request.method).toEqual('POST');
    req.flush({});
    await fixture.detectChanges();
    expect(page.rgb()).toBe('rgb(85, 102, 119)');
  });

  it('rgb should be empty when entered incorrectly hex', async () => {
    page.hex('qw123we');
    page.calc();
    const req = httpTestingController.expectNone(urlToSave);
    await fixture.detectChanges();
    expect(page.rgb()).toBe('');
  });

});

рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдкрд░ рдХреЛрдгреАрдп рдЙрдерд▓реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдиреЛрдЯреНрд╕ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  • рд╣рдореЗрд╢рд╛ рдЬрд╛рдВрдЪ рд▓реЗрдВ рдХрд┐ рдХреЛрдИ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ http рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдиреБрд░реЛрдз рд╣реИрдВред
  • PageObject , .
  • json , .
  • , .
  • .
  • .
  • , session, local, cookie ( ).
  • fake.js.
  • .




Source: https://habr.com/ru/post/undefined/


All Articles